-
SQL - Datentyp
In einem SQL-Trigger in einer WHERE-Anweisung möchte ich ein Datenfeld (numeric(6, 0)) mit den ersten 6 Stellen eines CHAR-Feldes vergleichen (dessen ersten 6 Stellen Ziffern sind).
Die Abfrage lautet:
.. where aiqual = int(substring(neu.ararti, 1, 6))
oder in einem anderen Versuch
.. where aiqual = decimal(substring(neu.arti, 1, 6), 6, 0)
Beide Versionen funktionieren.
Im JOBLOG wird allerdings jedesmal folgendes gesagt:
- Auswahlfeldern anderen Attributen zugeordnet
- Datentyp, Anzahl Stellen, Dezimalstelle oder Feldlänge
geändert in: AIQUAL damit das Feld vrglichen werden konnte
- Es kann kein Zugriffspfad zur Verarbeitung der Auswahl
verwendet werden, da kein Schlüsselfeld über entspr.
Attribute verfügt
Ich habe nun Bedenken, dass im Echtbetrieb eine schlechte Performance entstehen kann wg. fehlendem Zugriffspfad.
Kann die Vergleichsabfrage anders gestaltet werden ?
mfg Ludger
-
Wenn Attribute in einer Where-Bedingung geändert werden, gibt es halt diesen Warnhinweis, dass ggf. Performanceverluste auftreten.
Allerdings dürfte obige Meldung nur im DEBUG-Modus auftreten, sonst würde im laufenden Betrieb das Joblog ziemlich schnell volllaufen.
Wenn du einen SQL-Trigger machst, kannst du die beiden Felder doch über Hilfsvariablen vergleichen.
Es ginge ggf. noch der Vergleich:
... where digits(aiqual) = substr(neu.arti, 1, 6) ...
was allerdings die Fehlermeldung nicht unterdrückt.
Alternativ kannst du eine View erstellen, in der "aiqual" bereits als "digits(aiqual) as aiqual)" umformatiert ist.
Oder eine LF mit berenchneten Feldern, die nur die relevanten Felder enthält sowie das umformatierte "aiqual".
-
Hallo Baldur, danke für die Antwort.
Ich habe inzwischen schon selber weitergesucht und die Variante mit den Hilfsvariablen (so wie du auch beschrieben hast) verwendet:
declare qualitaet numeric(6, 0);
set qualitaet = decimal(substring(neu.ararti, 1, 6), 6, 0);
... where aiqual = qualitaet
Es ist richtig, dass die Fehlerhinwesie nur im DEBUG-Modus ersichtlich sind.
mfg. Ludger
Similar Threads
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 16-11-06, 10:15
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By malzusrex in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 19-09-06, 11:04
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks