2015-08-07 2 views
0

Есть ли способ создать единую хранимую процедуру, которая возвращает N результирующий набор и внутри SQL JOB, разделяет эти N результатов на N разных временных таблиц?Множественный результат хранимой процедуры SQL в таблице temp

У меня есть четыре хранимые процедуры, и каждый из SP возвращает результат. (все результаты отличаются)

Все эти SP используются в одном задании SQL для отчетности. До сих пор я объявлял четыре таблицы тем, чтобы сохранить результат четырех хранимых процедур, но я хотел бы иметь одну процедуру хранения со всеми установленными результатами и в то же время разделять их внутри SQL JOB.

редактировать: Мне нужно, чтобы отделить результаты, установленные в временные таблицы, потому что я могу изменить их легко в HTML таблиц для отправки по почте

edit2: Я хотел бы, чтобы достичь чего-то вроде

SELECT INTO #MyTempTable1,#MyTempTable2,#MyTempTable3 FROM OPENROWSET('SQLNCLI', 'Server=SERVERNAME;Trusted_Connection=yes;', 'SET FMTONLY OFF; SET NOCOUNT ON; EXEC DBNAME.dbo.ALLPROCEDURESINONE') 

так первый результат процедуры будет храниться в # MyTempTable1, второй результат будет в # MyTempTable2 ... и т. д.

ответ

0

Вы можете просто удалить функциональность одной хранимой процедуры в другую. Это зависит от параметров и количества повторного использования кода. например

CREATE PROCEDURE SP1() 
AS 
BEGIN 
    SP1 Your code here... 
END 

CREATE PROCEDURE SP2() 
AS 
BEGIN 
    SP2 Your code here... 
END 

и просто объединить 2

CREATE PROCEDURE SP1() 
AS 
BEGIN 
    SP1 Your code here... 

    SP2 Your code here... 
END 
+0

У меня есть SELECT * INTO # MyTempTable1 ОТ OPENROWSET ('SQLNCLI', 'Server = SERVERNAME; Trusted_Connection = да', 'SET FMTONLY OFF, SET NOCOUNT ON; EXEC DBNAME.dbo.Sp1') Как выбрать INTO несколько временных таблиц с помощью одной процедуры? __ Я отредактировал вопрос – corso

+0

Я считаю, что TSQL замечает только первый результат в многострочной хранимой процедуре. Не могли бы вы сделать вставки в хранимой процедуре? –

+0

Я этого не знал. Я очень благодарен за эту информацию :) Да, я могу поместить код процедуры внутри работы. Это сделало бы работу – corso

Смежные вопросы