1. 程式人生 > >【存儲過程】用SQL語句獲得一個存儲過程返回的表

【存儲過程】用SQL語句獲得一個存儲過程返回的表

into log 返回 dbo emp ins 過程 arc 存儲過程

定義一個存儲過程如下:

create proc [dbo].[test1]
@id int
as
select 1 as id,‘abc‘ as name union all 
select @id as id,‘zzz‘ as name

返回兩行數據.
現在想用SQL語句來調用這個存儲過程,並把他返回的表放入變量中.可以如下做:

declare   @table   table(id   int,name varchar(50))--定義表變量來存放存儲過程返回的內容
insert  into @table exec test1 2--將存儲過程執行的結果放入表變量中
select *
from @table    --查看表變量中的結果

這麽寫的話,如果列很多,將會很麻煩

目前沒有一個類似 as temp表的方法

select * from (exec test1 1) as temp

後續再找找看吧

【存儲過程】用SQL語句獲得一個存儲過程返回的表