2012-11-28 17 views
45

Ich habe eine gespeicherte Prozedur, wo es endet mit einem Rückgabewert von 0 oder 1Get in einer anderen gespeicherten Prozedur Rückgabewert von gespeicherten Prozedur in SQL

Ich mag diesen Wert in einer IF-Anweisung verwenden.

Wie kann ich den Rückgabewert der früheren gespeicherten Prozedur erhalten und in einer Variablen in letzterem speichern?

Ich konnte nichts ähnliches finden. Alle Fragen beziehen sich auf das Abrufen der RETURN-Werte in C#.

Ich dachte, vielleicht so etwas wie folgt aus:

SP_Two

DECLARE @returnValue INT 
SET @returnValue = EXEC SP_One 

IF @returnValue = 1 
BEGIN 
    --do something 
END 
ELSE 
BEGIN 
    --do something else 
END 

Antwort

53

Diese für Sie arbeiten sollten. Infact die eine, die Sie denken, sind auch arbeiten: -

....... 
DECLARE @returnvalue INT 

EXEC @returnvalue = SP_One 
..... 
5

Assign nach den EXEC token:

DECLARE @returnValue INT 

EXEC @returnValue = SP_One 
13

Die akzeptierte Antwort mit dem doppelten EXEC ungültig ist (nur noch die erste EXEC):

DECLARE @returnvalue int; 
EXEC @returnvalue = SP_SomeProc 
PRINT @returnvalue 

Und Sie müssen immer noch DRUCK aufrufen (zumindest in Visual Studio).

Verwandte Themen