Процедура SQL Server возвращает несколько таблиц - вставьте результаты в таблицы

У меня есть процедура, которая возвращает несколько таблиц; например:

PROCEDURE Something AS
BEGIN
 SELECT 1,2,3
 SELECT 4,5
 SELECT 9,10,11
END

Я хотел бы взять каждую таблицу из результата и вставить ее в серию таблиц / временных таблиц - по одной для каждого набора записей.

Это возможно?

Ответов (3)

Вы можете создать временные таблицы в сохраненной процедуре и вставить в нее записи. Если вы используете тот же сеанс, таблица будет доступна после завершения сохраненной процедуры.

Или вы можете заранее создать временные таблицы и вызвать sp для их заполнения.

если объединить результаты вместе, они получатся как один набор результатов.

ваш второй запрос имеет только 2 столбца, но это нужно будет разрешить в любом случае, когда вы поместите его в таблицу.

Ознакомьтесь с несколькими активными наборами результатов (MARS). Он может сделать то, что вы ищете.

http://www.sqlteam.com/article/multiple-active-result-sets-mars

http://blogs.msdn.com/sqlprogrammability/archive/2006/05/01/MARSIntroduction1.aspx