Вот пример использования динамического запроса T-SQL, а затем извлечения результатов, если у вас есть более одного столбца возвращаемых значений (обратите внимание на имя динамической таблицы):
й хранимой процедуре я объявил две табличные переменные поверх моей процедуры. Сейчас я пытаюсь использовать эту табличную переменную в динамическом SQL-выражении, но я получаю эту ошибку во время выполнения этой процедуры. Я использую Sql Server 2008.
Вот так выглядит мой запрос,
set @col_name = 'Assoc_Item_'
+ Convert(nvarchar(2), @curr_row1);
set @sqlstat = 'update @RelPro set '
+ @col_name
+ ' = (Select relsku From @TSku Where tid = '
+ Convert(nvarchar(2), @curr_row1) + ') Where RowID = '
+ Convert(nvarchar(2), @curr_row);
Exec(@sqlstat);
И я получаю следующие ошибки,
Необходимо объявить табличную переменную "@RelPro". Необходимо объявить табличную переменную "@TSku".
Я пытался вывести таблицу за пределы строкового блока динамического запроса, но безрезультатно.