我有一个要测试的存储过程。我试图通过SQL管理工作室测试它。为了运行这个测试,我输入…
exec my_stored_procedure 'param1Value', 'param2Value'
最后一个参数是输出参数。但是,我不知道如何测试带有输出参数的存储过程。
如何运行带有输出参数的存储过程?
我有一个要测试的存储过程。我试图通过SQL管理工作室测试它。为了运行这个测试,我输入…
exec my_stored_procedure 'param1Value', 'param2Value'
最后一个参数是输出参数。但是,我不知道如何测试带有输出参数的存储过程。
如何运行带有输出参数的存储过程?
当前回答
简单的方法是在Sql Server Management Studio (SSMS)中右键单击该过程,选择“Execute stored procedure…”,并根据提示为输入参数添加值。然后,SSMS将生成代码以在新的查询窗口中运行过程,并为您执行它。您可以研究生成的代码,了解它是如何完成的。
其他回答
使用这个查询,你可以执行任何存储过程(带或不带输出参数):
DECLARE @temp varchar(100)
EXEC my_sp
@parameter1 = 1,
@parameter2 = 2,
@parameter3 = @temp output,
@parameter4 = 3,
@parameter5 = 4
PRINT @temp
这里@temp的数据类型应该与存储过程中的@parameter3相同。
你可以这样做:
declare @rowCount int
exec yourStoredProcedureName @outputparameterspOf = @rowCount output
从过程返回val
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
简单的方法是在Sql Server Management Studio (SSMS)中右键单击该过程,选择“Execute stored procedure…”,并根据提示为输入参数添加值。然后,SSMS将生成代码以在新的查询窗口中运行过程,并为您执行它。您可以研究生成的代码,了解它是如何完成的。
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