Stored Procedure Parameter nicht immer gefüllt

tomduess

Neuer Benutzer
Beiträge
2
Guten Tag,

ich arbeite in einer Stored Procedure mit einem Parameter, der aber nicht immer gefüllt sein muss:
zb

Select Number from tblPerson where Landcode = @intCode

Ich suche nun eine Möglichkeit, dass wenn die Variable mit keinem Wert oder zb mit einem festen Wert (0) alle Personen zurückgegeben werden und wenn sie gefüllt ist, dann nur die Personen aus dem entsprechendem Land zurückgegeben werden. Wie muss dann die Prozedure aussehen?
Vielen Dank
Thomas
 
Werbung:
In Oracle gibt es eine nette, schlange Funktion für sowas: Decode
In MS SQL müsstest Du in der Where Condition ein Case When einsetzen.
 
Code:
edb=*# select * from foo;
 id | data
----+------
  1 |    1
  2 |     
(2 rows)

edb=*# select * from foo where case when 1=2 then data=1 else true end;
 id | data
----+------
  1 |    1
  2 |     
(2 rows)

edb=*# select * from foo where case when 1=1 then data=1 else true end;
 id | data
----+------
  1 |    1
(1 row)

edb=*#

Die Prüfung könnte man ja auch auf Prüfung auf NULL machen.
 
Werbung:
Vielen Danke, ich habe mit CASE , welches ich in der WHERE-Clausel einsetzte, eine Lösung gefunden. Ich hatte dieses nur im SELECT-Bereich auf dem Schirm :)
 
Zurück
Oben