Case in Prcedur

PeterW

Benutzer
Beiträge
12
Hallo!
Ich möchte in einer gespeicherten Procedur mit Parameter den Parameter als Wert festlegen.
Wenn der Wert 1 ist sollte etwas passieren bei 2, 3, usw.
Mit dieser unten stehenden Konstruktion gibt es Probleme.


CREATE PROCEDURE dbo.Test @Parameter as Bit
AS
SELECT @Parameter.CASE
When @Parameter=1
Anwendung ....
When @Parameter=2
Anwendung ....
When @Parameter=3
Anwendung ....
When @Parameter=4
Anwendung ....
End CASE

Ich bitte um einen tipp
Besten Dank im voraus

Peter
 
Werbung:
Also wenn du die Variable abhängig von ihrem eigenen Wert oder einer anderen Bedingung nur neu setzen willst würde ich es mit SET und CASE machen:
Code:
SET @Paramenter = ( CASE WHEN @Paramenter = 1 THEN 11 WHEN @Paramenter = 2 THEN 22 ELSE 0 END )
Wenn du abhängig von ihrem Wert eine Anweisung ausführen willst wärst du mit IF ELSE gut beraten:
Code:
IF @Parameter = 1 BEGIN SELECT 'a' END ELSE BEGIN SELECT 'b' END
Das kann man naütlich verschachteln, du solltest aber die Anweisung immer mit BEGIN und END zusammen fassen sonst ist nicht klar wo die Anweisung des IFs endet.
 
Zurück
Oben