2017-02-14 15 views
1

У меня есть 2 процедуры Р1 и Р2 каждый давая результаты в формате, как показано нижеДинамическая таблица Использование Процедура выходного

exec p1----> #col1 #col2 
       P-1 52 
       P-2 25 

EXEC p2----> #col1 #col2 
       P-1 20 
       P-2 2 
       P-3 5 

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

#col1 #col2 #col3 
P-1 52 20 
P-2 25 2 
P-3 NULL 5 

Я новичок в использовании таблицы Temp любая помощь будет оценена. Этот код должен быть запущен на SQL-сервере. С уважением,

+0

Возможный дубликат [Вставить результаты хранимой процедуры во временную таблицу] (http://stackoverflow.com/questions/653714/insert-results-of-a-stored-procedure-into-a-temporary- table) –

+0

Привет, я пробовал это, но бросаю ошибку. – rahul

ответ

0

Я думаю, это то, что вы хотите .Try однажды это может помочь вам

согласно вашему выходу процедур следует ниже запрос

create table #tempp (col1 varchar(50),col2 bigint) 

insert into #temp 
exec p1 

create table #tempp1 (col1 varchar(50),col2 bigint) 

insert into #tempp1 
exec p2 

select t1.col1,t.col2,t1.col2 from #tempp t 
full join #tempp1 t1 on t.col1=t1.col1 

я создал образец данные, как, как ваш выход процедуры данные и пытался в моей дб

   select * into #tempp from (
       select 'p-1' as col1,52 col2 
       union all 
       select 'p-2',25 
      ) as a 

       select * into #tempp1 from (
       select 'p-1' as col1,20 col2 
       union all 
       select 'p-2',2 
       union all 
       select 'p-3',5 
      ) as a 

select t1.col1,t.col2,t1.col2 from #tempp t 
full join #tempp1 t1 on t.col1=t1.col1 

Ваш вывод выглядит

+------+------+------+ 
| col1 | col2 | col2 | 
+------+------+------+ 
| p-1 | 52 | 20 | 
| p-2 | 25 | 2 | 
| p-3 | NULL | 5 | 
+------+------+------+ 

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

  • Нет связанных вопросов^_^