如何在SELECT
语句中运行存储过程?
例如
SELECT
(<SQL CODE>) A,
(<SQL CODE>) B
我想用预定义的存储过程运行或替换SQL CODE。那么如何在SELECT
语句中运行它?
有什么想法吗?
答案 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
表定义必须与存储过程的结果集完全相同。缺少列或略有不同的定义会产生错误。