Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Zurückgeben eines Werts aus einer gespeicherten Prozedur

Sie würden RETURN brauchen, um es auf Ihre Weise zu machen
Das ist jedoch nicht ideal:Dies sollte für den Status reserviert werden.

Ich würde einen OUTPUT-Parameter verwenden

CREATE PROC ... 
    @PropertyID int OUTPUT
AS
...

select @PropertyID = SCOPE_IDENTITY() as 'MemberPropertyID'; (if it is a new property)
...
select @PropertyID = MemberPropertyID as 'MemberPropertyID'; (if it is an existing property)
from blah blah blah
...
GO

EXEC [import].[spInsertIntoTblMemberProperties] @PropertyID OUTPUT

Beispiel für Unterschiede in der Technik:set @var =exec saved_procedure