次の T-SQL コード スニペットを検討してください。
CREATE PROC dbo.SquareNum(@i INT OUTPUT)
AS
BEGIN
SET @i = @i * @i
--SELECT @i
END
GO
DECLARE @a INT = 3, @b INT = 5
EXEC dbo.SquareNum @a OUTPUT
EXEC dbo.SquareNum @b
SELECT @a AS ASQUARE, @b AS BSQUARE
GO
DROP PROC dbo.SquareNum
結果セットは次のとおりです。
ASQUARE BSQUARE
----------- -----------
9 5
ご覧のとおり、@b
二乗されていません。b/c 出力パラメーターとして渡されませんでした (パラメーターOUTPUT
を渡すときに修飾子はありません)。
パラメータが実際にパラメータとして渡されたかどうかを確認するために、ストアド プロシージャ本体 (この場合は dbo.SquareNum 本体) 内をチェックできる方法があるかどうか知りたいOUTPUT
ですか?