У меня есть сценарий, когда я пытаюсь сделать mutliple insert из хранимой процедуры с разными значениями параметров одновременно во временную таблицу, чтобы соединить все результаты.Несколько вставка в таблицу с использованием хранимой процедуры в SQL
Моя температура таблица определена как-
create table #temptab (transaction_id varchar(20), contract_no varchar(20))
СП имеет, что я уверен, выполнение здесь возвращает ровно два столбца с тем же определением, как временная таблица.
Код выполняется успешно, когда я Single ВСТАВКИ в этот #temptab, например:
INSERT INTO #temptab (transaction_id,contract_no)
EXEC USP_FEED_MGMT_GETFEEDTRANSACTIONLISTBYFEEDID 169049
Это дает мне ошибку, когда я пытаюсь НЕСКОЛЬКО INSERTS с хранимой процедурой, перепробовал много способов, например:
1) Без использования значений ключевых слов, тот, как одной вставки выше: текст
INSERT INTO #temptab (transaction_id,contract_no)
EXEC USP_FEED_MGMT_GETFEEDTRANSACTIONLISTBYFEEDID 169049,
EXEC USP_FEED_MGMT_GETFEEDTRANSACTIONLISTBYFEEDID 169076,
EXEC USP_FEED_MGMT_GETFEEDTRANSACTIONLISTBYFEEDID 169090
Ошибка:
Msg 156, Level 15, State 1, Line 3
Incorrect syntax near the keyword 'EXEC'.
Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'EXEC'.
2) Использование SELECT INTO заявления:
select * into #temptab from EXEC USP_FEED_MGMT_GETFEEDTRANSACTIONLISTBYFEEDID 169049
Текст ошибки:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'EXEC'.
Я знаю, используя OPENQUERY заявление, но я ищу пути к НЕСКОЛЬКИХ вставить в таблицу с использованием процедур с различными параметрами, которые возвращают результат, определенный в соответствии с структурой таблицы, или если я могу вручную выбрать столбцы из набора результатов для вставки в таблицу.
, чтобы добавить к моему запросу, я в настоящее время использую ** SQL Server 2008 R2 ** над моей Windows 7. (если это где-то может повлиять на выполнение) – Shanks911
Можно ли преобразовать хранимую процедуру в функцию таблицы? В противном случае вы можете создать такую оболочку вокруг хранимой процедуры, а затем вы можете свободно выбирать из результата функции. – CyberDude
Я пытаюсь с вашим предложением @CyberDude, вернется как можно скорее. Спасибо – Shanks911