sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo asignar un resultado ejecutivo a una variable sql?

Siempre uso el valor de retorno para devolver el estado de error. Si necesita devolver un valor, usaría un parámetro de salida.

ejemplo de procedimiento almacenado, con un parámetro de SALIDA:

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

llamada al procedimiento almacenado, con un parámetro de SALIDA:

DECLARE @OutputParameter  datetime
       ,@ReturnValue      int

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

SALIDA:

0
2010-01-01 00:00:00.000