【发布时间】:2011-09-14 00:30:04
【问题描述】:
是否允许在 SQL CTE 语句中执行存储过程?我对 sql cte 查询有点陌生...
【问题讨论】:
标签: sql sql-server-2005 common-table-expression
是否允许在 SQL CTE 语句中执行存储过程?我对 sql cte 查询有点陌生...
【问题讨论】:
标签: sql sql-server-2005 common-table-expression
不,对不起。仅选择语句
如果你需要使用存储过程输出(结果集),那么它就是一个临时表
CREATE TABLE #foo (bar int...)
INSERT #foo (bar, ...)
EXEC myStoredProc @param1...
-- more code using #foo
【讨论】:
CREATE TABLE #foo"...更改为DECLARE @foo TABLE...
你也可以使用表变量:
DECLARE @tbl TABLE(id int ,name varchar(500) ,...)
INSERT INTO @tbl
EXEC myprocedure @param ..
with cte as (
SELECT * FROM @tbl
)
select * from cte
【讨论】: