valor stored salida retornar procedimientos procedimiento parametros para mostrar fecha ejecutar devolver datos con almacenados almacenado sql-server stored-procedures

sql-server - stored - procedimiento almacenado para mostrar datos



Ejecutar procedimiento almacenado con un parĂ¡metro de salida? (11)

Ejemplo de procedimiento:

Create Procedure [dbo].[test] @Name varchar(100), @ID int Output As Begin SELECT @ID = UserID from tbl_UserMaster where Name = @Name Return; END

Cómo llamar a este procedimiento

Declare @ID int EXECUTE [dbo].[test] ''Abhishek'',@ID OUTPUT PRINT @ID

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

exec my_stored_procedure ''param1Value'', ''param2Value''

El parámetro final es un output parameter . Sin embargo, no sé cómo probar un procedimiento almacenado con parámetros de salida.

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


¿Qué tal esto? Es extremadamente simplificado:

  1. El SPROC a continuación tiene un parámetro de salida de @ParentProductID

  2. Queremos seleccionar el valor de la salida de @ParentProductID en @MyParentProductID que se declara a continuación.

  3. Aquí está el Código:

    declare @MyParentProductID int exec p_CheckSplitProduct @ProductId = 4077, @ParentProductID = @MyParentProductID output select @MyParentProductID


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!


La manera más fácil es hacer right-click en el procedure en Sql Server Management Studio (SSMS),

seleccione execute stored procedure...

y agregue valores para los parámetros de entrada según lo solicitado.

SSMS generará el código para ejecutar el proceso en una nueva ventana de consulta y lo ejecutará por usted. Puedes estudiar el código generado para ver cómo se hace.


Primero, declare la variable de salida:

DECLARE @MyOutputParameter INT;

Luego, ejecute el procedimiento almacenado, y puede hacerlo sin los nombres de los parámetros, como este:

EXEC my_stored_procedure ''param1Value'', @MyOutputParameter OUTPUT

o con los nombres de los parámetros:

EXEC my_stored_procedure @param1 = ''param1Value'', @myoutput = @MyOutputParameter OUTPUT

Y finalmente, puede ver el resultado de salida haciendo un SELECT :

SELECT @MyOutputParameter


Puedes hacerlo :

declare @rowCount int exec yourStoredProcedureName @outputparameterspOf = @rowCount output


Retorno val del procedimiento

ALTER PROCEDURE testme @input VARCHAR(10), @output VARCHAR(20) output AS BEGIN IF @input >= ''1'' BEGIN SET @output = ''i am back''; RETURN; END END DECLARE @get VARCHAR(20); EXEC testme ''1'', @get output SELECT @get


Verifique esto, donde los primeros dos parámetros son parámetros de entrada y el tercero es el parámetro de Salida en la definición del Procedimiento.

DECLARE @PK_Code INT; EXEC USP_Validate_Login ''ID'', ''PWD'', @PK_Code OUTPUT SELECT @PK_Code


> Pruebe esto funciona bien para el parámetro de salida múltiple:

CREATE PROCEDURE [endicia].[credentialLookup] @accountNumber varchar(20), @login varchar(20) output, @password varchar(50) output AS BEGIN SET NOCOUNT ON; SELECT top 1 @login = [carrierLogin],@password = [carrierPassword] FROM [carrier_account] where carrierLogin = @accountNumber order by clientId, id END Try for the result: SELECT *FROM [carrier_account] DECLARE @login varchar(20),@password varchar(50) exec [endicia].[credentialLookup] ''588251'',@login OUTPUT,@password OUTPUT SELECT ''login''=@login,''password''=@password


Aquí está el procedimiento almacenado

create procedure sp1 ( @id as int, @name as nvarchar(20) out ) as begin select @name=name from employee where id=@id end

Y aquí está la manera de ejecutar el procedimiento

declare @name1 nvarchar(10) exec sp1 1,@name1 out print @name1


CREATE PROCEDURE DBO.MY_STORED_PROCEDURE (@PARAM1VALUE INT, @PARAM2VALUE INT, @OUTPARAM VARCHAR(20) OUT) AS BEGIN SELECT * FROM DBO.PARAMTABLENAME WHERE PARAM1VALUE=@PARAM1VALUE END DECLARE @OUTPARAM2 VARCHAR(20) EXEC DBO.MY_STORED_PROCEDURE 1,@OUTPARAM2 OUT PRINT @OUTPARAM2