2012-02-07 126 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