SQL ストアド プロシージャと動的 SQL を使用しています。デバッグしようとすると、@columnName を出力するまで、すべて正常に動作します。
これは、問題を引き起こしているコードの一部です。
DECLARE @query NVARCHAR(2000)
DECLARE @columnName NVARCHAR(250)
SELECT @query = 'SELECT myTable.value FROM myTable WHERE myConditions'
EXECUTE sp_executesql @query, N'@columnName NVARCHAR(30) OUTPUT', @columnName OUTPUT
PRINT N'query='+@query
set @query = ''
PRINT N'query after reset='+@query
PRINT N'columnName='+@columnName
PRINT N'any other message'
Select @query = 'SELECT myValues AS '''+@columnName+''',
FROM myTable2
WHERE myConditions';
EXEC(@query);
出力メッセージは次のとおりです。
query=SELECT myTable.value FROM myTable WHERE myConditions
query after reset=
any other message
それで、私のcolumnName=
出力はどこですか?
編集
SQL バージョン: Microsoft SQL Server 2012 - 11.0.2100.60 (X64) 2012 年 2 月 10 日 19:39:15 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1) (ハイパーバイザー)