Frage von KieranMeow, 19

Warum ignoriert meine Prozedur in T-SQL eine IF Anweisung?

Die Prozedur zum anschauen: https://www.kieran.pw/Prozedur.txt

Also: Ganz unten sieht man den einzigen Insert dieser Prozedur. Darüber wird abgefragt, ob(if) das Gewicht(@Gew) 0 ist. Wenn das der fall ist, soll er @Gew zu 1 setzen da die Gew Spalte keine Null zulässt. Soweit so gut, aber nun das Problem: Wenn ich die Prozedur mit richtigen Werten aber einer 0 als @Gew aufrufe, sagt sie mir, dass in die Gew Spalte keine Null Werte dürfen OBWOHL die IF Anweisung dort steht. Ich habe auch versucht die @Gew Variable in dem Insert mit 1 zu ersetzen und das klappt einwand frei. Kein Error. Wo ist der Fehler???

LG

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von MschesByte, 6

Hallo,

du hast @Gew = NULL in der IF-Klausel stehen. Jeder Vergleich mit null ergibt aber FALSE. Also wenn @Gew NULL ist wird an dieser Stelle ein FALSE zurückgegeben. Vergleiche mit NULL sind immer IS NULL oder IS NOT NULL. Wenn du also IS NULL einbaust, dürfte es gehen.

Mit freundlichen Grüßen

 Msches Byte

Kommentar von KieranMeow ,

Es lag auch an den fehlenden Klammern. Dass ich sowas vergessen würde... Danke

Antwort
von KieranMeow, 4

Klammern um die if besingung und is null

Keine passende Antwort gefunden?

Fragen Sie die Community