sql >> Databasteknik >  >> RDS >> Sqlserver

Hur tilldelar man ett exec-resultat till en sql-variabel?

Jag använder alltid returvärdet för att skicka tillbaka felstatus. Om du behöver skicka tillbaka ett värde skulle jag använda en utdataparameter.

exempel på lagrad procedur, med en OUTPUT-parameter:

CREATE PROCEDURE YourStoredProcedure 
(
    @Param1    int
   ,@Param2    varchar(5)
   ,@Param3    datetime OUTPUT
)
AS
IF ISNULL(@Param1,0)>5
BEGIN
    SET @Param3=GETDATE()
END
ELSE
BEGIN
    SET @Param3='1/1/2010'
END
RETURN 0
GO

anrop till den lagrade proceduren, med en OUTPUT-parameter:

DECLARE @OutputParameter  datetime
       ,@ReturnValue      int

EXEC @ReturnValue=YourStoredProcedure 1,null, @OutputParameter OUTPUT
PRINT @ReturnValue
PRINT CONVERT(char(23),@OutputParameter ,121)

UTGÅNG:

0
2010-01-01 00:00:00.000


  1. Ställa in Active Data Guard Physical Standby i RAC One Node Architecture – Del 1

  2. Hur håller man en enda SQL Server-anslutningsinstans öppen för flera begäranden i C#?

  3. CS50:LIKE-operator, variabel substitution med % expansion

  4. MySQL felnummer 150