Я работаю с хранимой процедурой 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) 10 февраля 2012 г. 19:39:15 Авторское право (c) Microsoft Corporation Standard Edition (64-разрядная версия) в Windows NT 6.1 (сборка 7601: Пакет обновления 1) (гипервизор)
sql-server-2012
- вот где нужно указывать такие вещи.... - person marc_s   schedule 05.07.2013