Update mit Case inkl. Where
Enrico
- datenbank
Hallo liebe Forum-User,
ich benutze eine Oracle Datenbank in der kostenfreien 10gXE-Version.
Ich habe nun folgendes Problem, ich würde gern ein Update mit ein paar Case-Anweisungen durchführen (siehe Beispiel : klappt auch):
update t_test
set test_bemerkung = Case
WHEN (feld1 is NULL or feld2 = 'alle')
THEN 'nein'
WHEN (feld1 is 'BLUB' or feld2 = 'sonstiges')
THEN 'bemerkung2'
.
.
. usw.
.
.
else 'TEST'
Diese Case-Anweisung funktioniert auch, nun möchte ich aber hinter dem Else eine Where Klause anfügen:
update t_test
set test_bemerkung = (Case
WHEN (feld1 is NULL or feld2 = 'alle')
THEN 'nein'
WHEN (feld1 is 'BLUB' or feld2 = 'sonstiges')
THEN 'bemerkung2'
.
.
. usw.
.
.
else 'TEST' ) WHERE ID = '1234'
Aber dies funktioniert nicht. Wie kann ich die Case-Anweisung mit Hilfe einer Where-Klausel einschränken ohne die in jede Zeile schreiben zu müssen.
Vielen vielen Dank für euere Anregungen, Tipps und Hilfen.
MfG Enrico
Hello,
Aber dies funktioniert nicht.
okay, ohne Oracle zu kennen macht das für mich erstmal keinen Sinn. Was heißt denn "funktioniert nicht"?
Vielen vielen Dank für euere Anregungen, Tipps und Hilfen.
hast du mal die Syntax von CASE nachgeschlagen? Gibts da vielleicht ein END oder so, bevor du die Where-Klausel einleiten darfst. Steht da vielleicht irgendwas bzgl. WHERE?
MfG
Rouven
Ich dank euch beiden vielmals.
So ein Mist, da habe ich glatt das END nach der Case-Klausel vergessen. War vielleicht übermüdet *grins*
Vielen Dank nochmal :-D
Hallo,
dem Case fehlt noch ein END.