테스트하려는 저장 프로 시저가 있습니다. SQL Management Studio를 통해 테스트하려고합니다. 이 테스트를 실행하려면 다음을 입력하십시오 …
exec my_stored_procedure 'param1Value', 'param2Value'
최종 매개 변수는입니다 output parameter
. 그러나 출력 매개 변수를 사용하여 저장 프로 시저를 테스트하는 방법을 모르겠습니다.
출력 매개 변수를 사용하여 저장 프로 시저를 어떻게 실행합니까?
답변
쉬운 방법이다 right-click
온 procedure
에서 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