Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Retornando um valor de um procedimento armazenado


Você precisaria de RETURN para fazer do seu jeito
Mas isso não é o ideal:isso deve ser reservado para status.

Eu usaria um parâmetro OUTPUT
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

Exemplo de diferenças na técnica:set @var =exec stored_procedure