sql >> Database >  >> RDS >> Sqlserver

Een waarde retourneren uit een opgeslagen procedure

Je hebt RETURN nodig om het op jouw manier te doen
Dit is echter niet ideaal:dit moet worden gereserveerd voor status.

Ik zou een OUTPUT-parameter gebruiken

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

Voorbeeld van verschillen in techniek:set @var =exec opgeslagen_procedure




  1. postgresql dubbele sleutel schendt unieke beperking

  2. Foutcode:1822 wanneer gegevenstypen overeenkomen, met samengestelde sleutel

  3. PL/SQL onvoldoende privileges binnen een query handmatig mogelijk

  4. In MySQL is er een functie zoals niveau in Oracle?