답변:
쉬운 방법이다 right-click
온 procedure
에서 SQL Server 관리 Studio (SSMS)
고르다 execute stored procedure...
프롬프트가 표시되면 입력 매개 변수의 값을 추가하십시오 .
SSMS
그런 다음 새 쿼리 창에서 proc을 실행하는 코드를 생성하고 실행합니다. 생성 된 코드를 연구하여 코드 수행 방법을 확인할 수 있습니다.
execute
명령 이 없으며 상황에 맞는 메뉴에는 modify
.
에서 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
이건 어때요? 매우 간단합니다.
아래 SPROC의 출력 매개 변수는 @ParentProductID
우리의 출력의 값을 선택합니다 @ParentProductID
으로 @MyParentProductID
아래에 선언된다.
코드는 다음과 같습니다.
declare @MyParentProductID int
exec p_CheckSplitProduct @ProductId = 4077, @ParentProductID = @MyParentProductID output
select @MyParentProductID
다중 출력 매개 변수에 대해 올바르게 작동하십시오.
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
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
이 쿼리를 사용하면 저장 프로 시저 (출력 매개 변수 포함 또는 제외)를 실행할 수 있습니다 .
DECLARE @temp varchar(100)
EXEC my_sp
@parameter1 = 1,
@parameter2 = 2,
@parameter3 = @temp output,
@parameter4 = 3,
@parameter5 = 4
PRINT @temp
여기서 @temp의 데이터 유형은 SP 내의 @ parameter3과 같아야합니다.
도움이 되었기를 바랍니다..
저장 프로 시저를 실행하여 출력 변수 값을 얻으려면 아래 예를 확인하십시오.
DECLARE @return_value int,
@Ouput1 int,
@Ouput2 int,
@Ouput3 int
EXEC @return_value = 'Your Sp Name'
@Param1 = value1,
@Ouput1 = @Ouput1 OUTPUT,
@Ouput2 = @Ouput2 OUTPUT,
@Ouput3 = @Ouput3 OUTPUT
SELECT @Ouput1 as N'@Ouput1',
@Ouput2 as N'@Ouput2',
@Ouput3 as N'@Ouput3'