My Store过程将在插入Date后返回一个ID,我成功插入数据,但每次@test
值为0,但实际上我的Store过程返回的ID为123。 / p>
我的代码如下
declare @INS_ID int, @test int
EXEC @test = Ins_Data 4,'Apple','Apple','Apple',@INS_ID OUTPUT
select @test
答案 0 :(得分:1)
您似乎将存储过程返回值与输出参数混淆 - 请考虑此过程
CREATE PROCEDURE dbo.TestProc @i INT OUTPUT
AS
SET @i = 2;
RETURN 1;
如果你再打电话
DECLARE @a INT, @b INT;
EXECUTE @a = dbo.TestProc @b OUT;
SELECT @a, @b;
@a将为1(因为程序中为RETURN 1
),@ b将为2,因为它在过程中设置为2。
<强> Demo on SQL Fidlle 强>