Hallo zusammen,

möchte eine Datei in Abhängigkeit einer anderen Datei nur dann updaten, wenn dort der enstprechende Satz gefunden wurde:

update v#vsta00
set vvswg0 = case when (select budget
from budms09 where kdnr = vskdnr AND 'BUD99' = vstnr) <> 0 then
(select budget
from budms09 where kdnr = vskdnr AND 'BUD99' = vstnr) else vvswg0 end,

...

where exists (Select budget from budms09 where vskdnr = kdnr)
;;

Ursprünglich dachte ich, dass ich mir die Case-Anweisung sparen kann, weil ich ja in den Where-Bedingungen mit exists auf die Existenz der Subselect-Sätze abfrage. Dies führt jedoch stets zu der Meldung, dass keine NULL-Werte in das Feld vvswg0 geschrieben werden dürfen.

Meine Case-Anweisung ist allerdings auch nicht ganz richtig, da das Feld Budget durchaus den Wert 0 haben darf, welcher hierüber jedoch auch abgefangen wird.
Mit NOT NULL anstelle von <> 0 hab ich es schon versucht - Syntaxfehler.

Wer weiß, wie es funktioniert?

-- Tobias