[sql-server] 출력 매개 변수로 저장 프로 시저를 실행 하시겠습니까?

테스트하려는 저장 프로 시저가 있습니다. SQL Management Studio를 통해 테스트하려고합니다. 이 테스트를 실행하려면 다음을 입력하십시오 …

exec my_stored_procedure 'param1Value', 'param2Value'

최종 매개 변수는입니다 output parameter. 그러나 출력 매개 변수를 사용하여 저장 프로 시저를 테스트하는 방법을 모르겠습니다.

출력 매개 변수를 사용하여 저장 프로 시저를 어떻게 실행합니까?



답변

쉬운 방법이다 right-clickprocedure에서 SQL Server 관리 Studio (SSMS)

고르다 execute stored procedure...

프롬프트가 표시되면 입력 매개 변수의 값을 추가하십시오 .

SSMS그런 다음 새 쿼리 창에서 proc을 실행하는 코드를 생성하고 실행합니다. 생성 된 코드를 연구하여 코드 수행 방법을 확인할 수 있습니다.


답변

당신은 이것을 할 수 있습니다 :

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


답변

절차에서 반환 값

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 


답변

프로 시저 정의에서 처음 두 매개 변수는 입력 매개 변수이고 세 번째 매개 변수는 출력 매개 변수입니다.

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


답변

에서 http://support.microsoft.com/kb/262499

예:

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

도움이 되었기를 바랍니다!


답변

절차 예 :

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

이 절차를 호출하는 방법

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


답변

먼저 출력 변수를 선언하십시오.

DECLARE @MyOutputParameter INT;

그런 다음 저장 프로 시저를 실행하면 다음과 같이 매개 변수 이름없이 수행 할 수 있습니다.

EXEC my_stored_procedure 'param1Value', @MyOutputParameter OUTPUT

또는 매개 변수 이름으로 :

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

마지막으로 다음을 수행하여 출력 결과를 볼 수 있습니다 SELECT.

SELECT @MyOutputParameter