-
Update per SQL
Hallo *all,
habe folgendes Problem mit einer UPDATE Anweisung im interaktiven SQL:
Ich möchte das Feld KVB34 ( Kundenklasse) in der Datei SVAKVB mit den entsprechenden Werten aus der Datei Ranking aktualisieren.
Soll heissen: die Kundenklasse in der ersten Datei sollen der Klasse aus der zweiten Datei angepasst werden.
Beide Dateien haben keine doppelten Sätze.
Schlüssel ist die Kundennummer.
UPDATE
mylib/svakvb a
set a.kvb34 =
(SELECT b.rank2
from mylib/ranking b where
b.rank1 = a.kvb02 and
a.kvb01 = '01' and
a.kvb34 <> b.rank2 )
ich kriege aber immer den Fehler:
Nullwerte für Spalte oder Variable KVB34 nicht zulässig.
- wie kann ich das umgehen ????
Vilen Dank für Eure Hilfe.
-
Hallo,
die Fehlermeldung sagt doch genau, was nicht passt: es sind Sätze in der ersten Datei (die mit dem update) die in der zweiten Datei kein Pendant haben - was soll denn bei denen geschehen???
mfg
Dieter Bender
Zitat von jkuetema
Hallo *all,
habe folgendes Problem mit einer UPDATE Anweisung im interaktiven SQL:
Ich möchte das Feld KVB34 ( Kundenklasse) in der Datei SVAKVB mit den entsprechenden Werten aus der Datei Ranking aktualisieren.
Soll heissen: die Kundenklasse in der ersten Datei sollen der Klasse aus der zweiten Datei angepasst werden.
Beide Dateien haben keine doppelten Sätze.
Schlüssel ist die Kundennummer.
UPDATE
mylib/svakvb a
set a.kvb34 =
(SELECT b.rank2
from mylib/ranking b where
b.rank1 = a.kvb02 and
a.kvb01 = '01' and
a.kvb34 <> b.rank2 )
ich kriege aber immer den Fehler:
Nullwerte für Spalte oder Variable KVB34 nicht zulässig.
- wie kann ich das umgehen ????
Vilen Dank für Eure Hilfe.
-
UPDATE
mylib/svakvb a
set a.kvb34 =
(SELECT b.rank2
from mylib/ranking b where
b.rank1 = a.kvb02 and
a.kvb01 = '01' and
a.kvb34 <> b.rank2 )
where b.rank1 = a.kvb02 and
a.kvb01 = '01' and
a.kvb34 <> b.rank2
-
Update mit SQL
Hallo BenderD,
ok Du hast gewonnen...sehe den Wald vor lauter Bäumen nicht.
Der Update funktioniert natürlich, wenn überall ein Treffer gelandet wird.
Aber wie formuliere ich jetzt das "Überlesen" wenn kein Treffer gelandet wird? Dann soll eben "einfach" der nächste Satz genommen werden.
Bin für jeden Hinweis dankbar.
-
Hallo,
das ist ja nicht selbstverständlich, es könnte ja auch sein, dass man dann sonstwas da reinschreiben will.
UPDATE
mylib/svakvb a
set a.kvb34 =
coalesce(
(SELECT b.rank2
from mylib/ranking b where
b.rank1 = a.kvb02 and
a.kvb01 = '01' and
a.kvb34 <> b.rank2 )
, a.kvb34
)
müsste gehen.
mfg
Dieter Bender
Zitat von jkuetema
Hallo BenderD,
ok Du hast gewonnen...sehe den Wald vor lauter Bäumen nicht.
Der Update funktioniert natürlich, wenn überall ein Treffer gelandet wird.
Aber wie formuliere ich jetzt das "Überlesen" wenn kein Treffer gelandet wird? Dann soll eben "einfach" der nächste Satz genommen werden.
Bin für jeden Hinweis dankbar.
-
Update mit SQL
Hallo BenderD,
1a Lösung genau das habe ich gesucht.
SQL ist eben doch eine tolles Tool, wenn man's denn beherrscht
Vielen Dank nochmals.
Gruss Jens
-
Allerdings würde ich meine Lösung vorziehen, durch die Where-Bedingung im Update beschränkt sich die Anzahl Sätze auf vorhandene Daten.
Mit Coalesce (oder VALUE) wird ein Datensatz unnötigerweise mit dem selben Inhalt upgedatet. Wenn man dann noch Journalisierung oder Trigger hätte ...
Similar Threads
-
By steven_r in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 25-09-06, 08:22
-
By wuwu in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 18-07-06, 15:31
-
By steven_r in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 18-07-06, 09:36
-
By Nennewitz in forum NEWSboard Programmierung
Antworten: 16
Letzter Beitrag: 28-06-06, 13:49
-
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