select语句中的存储过程

时间:2012-02-07 20:10:12

标签: sql stored-procedures select

如何在SELECT语句中运行存储过程?

例如

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

我想用预定义的存储过程运行或替换SQL CODE。那么如何在SELECT语句中运行它?

有什么想法吗?

1 个答案:

答案 0 :(得分: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

表定义必须与存储过程的结果集完全相同。缺少列或略有不同的定义会产生错误。