我有一个要测试的存储过程。我试图通过SQL管理工作室测试它。为了运行这个测试,我输入…
exec my_stored_procedure 'param1Value', 'param2Value'
最后一个参数是输出参数。但是,我不知道如何测试带有输出参数的存储过程。
如何运行带有输出参数的存储过程?
我有一个要测试的存储过程。我试图通过SQL管理工作室测试它。为了运行这个测试,我输入…
exec my_stored_procedure 'param1Value', 'param2Value'
最后一个参数是输出参数。但是,我不知道如何测试带有输出参数的存储过程。
如何运行带有输出参数的存储过程?
当前回答
检查一下,其中前两个参数是输入参数,第三个是Procedure定义中的输出参数。
DECLARE @PK_Code INT;
EXEC USP_Validate_Login 'ID', 'PWD', @PK_Code OUTPUT
SELECT @PK_Code
其他回答
下面是stored_proc的定义:
create proc product(@a int,@b int)
as
return @a * @b
这是从Python中执行的: Conn = pyodbc.connect('…') Cursor = conn.cursor()
sql = """
SET NOCOUNT ON
declare @r float
exec @r=dbo.product 5,4
select @r
"""
result = cursor.execute(sql)
print (result.fetchall())
你可以这样做:
declare @rowCount int
exec yourStoredProcedureName @outputparameterspOf = @rowCount output
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
从过程返回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
这个怎么样?它非常简单:
下面的SPROC有一个输出参数@ParentProductID 我们希望将@ParentProductID的输出值选择为下面声明的@MyParentProductID。 代码如下: 声明@MyParentProductID int exec p_CheckSplitProduct @ProductId = 4077, @ParentProductID = @MyParentProductID输出 选择@MyParentProductID