私の Store プロシージャは、日付の挿入後に ID を返します。データへの挿入は成功しますが、毎回@test
値は 0 になりますが、実際には Store プロシージャはたとえば 123 の ID を返します。
以下の私のコード
declare @INS_ID int, @test int
EXEC @test = Ins_Data 4,'Apple','Apple','Apple',@INS_ID OUTPUT
select @test
私の Store プロシージャは、日付の挿入後に ID を返します。データへの挿入は成功しますが、毎回@test
値は 0 になりますが、実際には Store プロシージャはたとえば 123 の ID を返します。
以下の私のコード
declare @INS_ID int, @test int
EXEC @test = Ins_Data 4,'Apple','Apple','Apple',@INS_ID OUTPUT
select @test
ストアド プロシージャの戻り値と出力パラメータを混同しているようです - この手順を検討してください
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 になります。