tabla - sql server stored procedure return value
El valor almacenado de retorno del procedimiento almacenado de SQL Server en T-SQL (2)
Tengo un procedimiento almacenado de SQL Server; Necesito capturar el valor de retorno del procedimiento almacenado. ¿Es esta la forma correcta de hacer esto?
declare valback varchar(30)
set valback = exec storeproc1
En este caso, storeproc1
es mi procedimiento almacenado.
La sintaxis correcta es:
DECLARE @valback VARCHAR(30)
EXEC @valback = storeproc1
Según la documentación:
Para comenzar, use la sintaxis T-SQL apropiada:
declare @valback int;
exec @valback = storeproc1;
El único tipo de retorno permitido para un procedimiento almacenado es int
. Los procedimientos almacenados devuelven el estado a través de la declaración de return
.
De alguna manera tengo la sensación de que realmente quieres algo más, a saber: tener un parámetro de SALIDA en el procedimiento:
declare @valback varchar(30);
exec storedproc1 @valback OUTPUT;
o capture el conjunto de resultados del procedimiento a través de INSERT ... EXEC
. Consulte Cómo compartir datos entre procedimientos almacenados .