Ver Mensaje Individual
  #2  
Antiguo 29-06-2018
Alex Mireles Alex Mireles is offline
Miembro
NULL
 
Registrado: nov 2014
Posts: 35
Reputación: 0
Alex Mireles Va por buen camino
Hola... Es Importante poner la clausula OUTPUT en los argumentos de la definición de tu Store Procedure.


Mira estos 2 ejemplos tomados de stackOverlow:

----Ejemplo 1:

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



-----Ejemplo 2:

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

----FIN
Saludos
Responder Con Cita