¿Ejecutar el procedimiento almacenado con un parámetro de salida?

Tengo un procedimiento almacenado que estoy tratando de probar. Estoy tratando de probarlo a través de SQL Management Studio. Para ejecutar esta prueba introduzco ...

exec my_stored_procedure 'param1Value', 'param2Value'

El último parámetro es un "parámetro de salida". Sin embargo, no sé cómo probar un procedimiento almacenado con parámetros de salida.

¿Cómo puedo ejecutar un procedimiento almacenado con un parámetro de salida?

Solución

La forma más fácil es hacer clic derecho en el procedimiento en Sql Server Management Studio(SSMS),

seleccionar "ejecutar el procedimiento almacenado...".

y añadir los valores de los parámetros de entrada que se le soliciten.

El SSMS generará entonces el código para ejecutar el procedimiento en una nueva ventana de consulta, y lo ejecutará por usted. Puede estudiar el código generado para ver cómo se hace.

Comentarios (4)

puedes hacer esto :

declare @rowCount int
exec yourStoredProcedureName @outputparameterspOf = @rowCount output
Comentarios (2)

Desde http://support.microsoft.com/kb/262499

Ejemplo:

CREATE PROCEDURE Myproc

@parm varchar(10),
**@parm1OUT varchar(30) OUTPUT**,
**@parm2OUT varchar(30) OUTPUT**
AS
  SELECT @parm1OUT='parm 1' + @parm
 SELECT @parm2OUT='parm 2' + @parm

GO

DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)
DECLARE @parmIN VARCHAR(10)
DECLARE @parmRET1 VARCHAR(30)
DECLARE @parmRET2 VARCHAR(30)

SET @parmIN=' returned'
SET @SQLString=N'EXEC Myproc @parm,
                         @parm1OUT OUTPUT, @parm2OUT OUTPUT'
SET @ParmDefinition=N'@parm varchar(10),
                  @parm1OUT varchar(30) OUTPUT,
                  @parm2OUT varchar(30) OUTPUT'

EXECUTE sp_executesql
@SQLString,
@ParmDefinition,
@parm=@parmIN,
@parm1OUT=@parmRET1 OUTPUT,@parm2OUT=@parmRET2 OUTPUT

SELECT @parmRET1 AS "parameter 1", @parmRET2 AS "parameter 2"
GO
DROP PROCEDURE Myproc

Espero que esto ayude.

Comentarios (0)