Дополнительно
INSERT INTO @TABLE EXEC @query в SQL Server 2000
Правда ли, что в SQL Server 2000 нельзя вставить в таблицу переменную с помощью exec?
Я попробовал этот сценарий и получил сообщение об ошибке EXECUTE нельзя использовать в качестве источника при вставке в табличную переменную
.
declare @tmp TABLE (code varchar(50), mount money)
DECLARE @q nvarchar(4000)
SET @q = 'SELECT coa_code, amount FROM T_Ledger_detail'
INSERT INTO @tmp (code, mount)
EXEC sp_executesql (@q)
SELECT * from @tmp
Если это так, то что мне делать?
37
3
N.B. - этот вопрос и ответ относятся к 2000 версии SQL Server. В более поздних версиях ограничение на
INSERT INTO @table_variable ... EXEC ...
были сняты, поэтому данный вопрос не относится к более поздним версиям.Вам придется перейти на временную таблицу:
Из документации:
Документация вводит в заблуждение.
У меня есть следующий код, работающий в продакшене
Если вы хотите в динамическом запросе