DB2 für IBM iSeries: IF EXISTS-Anweisung syntax

Ich bin vertraut mit Sybase die es erlaubt Abfragen mit format: IF EXISTS () THEN ... ELSE ... END WENN (oder sehr nah). Dies ein starkes statement, ermöglicht: "wenn vorhanden, dann update, sonst insert".

Ich bin das schreiben von Abfragen für DB2 auf IBM iSeries-box. Ich habe gesehen das CASE-Schlüsselwort, aber ich kann nicht damit es funktioniert. Ich erhalte immer den Fehler: "Keyword-FALL nicht zu erwarten."

Beispiel:

IF EXISTS ( SELECT * FROM MYTABLE WHERE KEY = xxx ) 
DANN UPDATE MYTABLE SET WERT = zzz, WO KEY = xxx 
ELSE INSERT INTO MYTABLE (SCHLÜSSEL, WERT) VALUES (xxx, zzz) 
END IF 

Gibt es eine Möglichkeit, dies zu tun gegen die DB2 auf IBM iSeries? Derzeit betreibe ich zwei Anfragen. Zuerst wählen Sie eine, dann ist mein Java-code, der entscheidet sich für update/insert. Ich würde eher schreiben Sie eine einzige Abfrage als mein server steht weit Weg (über den Pazifik).

Haben Sie einen Blick auf stackoverflow.com/questions/330241/...

InformationsquelleAutor kevinarpe | 2011-08-03

Schreibe einen Kommentar