2012-02-07 176 views
1

如何在SELECT語句中運行存儲過程?選擇語句中的存儲過程

例如

SELECT 
    (<SQL CODE>) A, 
    (<SQL CODE>) B 

我想運行或與預定義的存儲過程替代SQL代碼。那麼如何在SELECT聲明中運行它?

有什麼想法?

回答

3

最近我知道的是insert ... exec,如:

declare @t1 table (col1 int, col2 varchar(50)) 
insert @t1 exec ProcA 

declare @t2 table (col1 int, col2 varchar(50)) 
insert @t2 exec ProcB 

select t1.col1 
,  t1.col2 
,  t2.col1 
,  t2.col2 
from @t1 t1 
cross join 
     @t2 t2 

表定義必須是完全一樣的結果集的存儲過程。缺少列或略有不同的定義會導致錯誤。

+0

我想你明白了我的觀點。讓我試試這個。謝謝! – Satish 2012-02-07 20:54:32