これが実際には出力パラメーターの問題ではなく、結果セットの問題である場合は、SpWithOutputID を推測してください。 このようなことを行います (SELECT を返します) 1 行 1 列):
CREATE PROCEDURE dbo.SpWithOutputID AS BEGIN SET NOCOUNT ON; SELECT ID = 4; END GOプレ>次に
Test1次のようになります:CREATE PROCEDURE dbo.Test1 AS BEGIN SET NOCOUNT ON; DECLARE @ID INT; CREATE TABLE #x(ID INT); INSERT #x EXEC dbo.SpWithOutputID; SELECT TOP (1) @ID = ID FROM #x; DROP TABLE #x; END GOプレ>しかし、それはあなたにとって本当に面倒に見えませんか?単一のスカラー値に対しては、実際にはこのように動作するはずです:
CREATE PROCEDURE dbo.SpWithOutputID @ID INT OUTPUT AS BEGIN SET NOCOUNT ON; SELECT @ID = 4; END GOプレ>実際に出力パラメーターを使用することがはるかに簡単になりました:
CREATE PROCEDURE dbo.Test1 AS BEGIN SET NOCOUNT ON; DECLARE @ID INT; EXEC dbo.SpWithOutputID @ID = @ID OUTPUT; SELECT @ID; END GOプレ>