简体   繁体   English

在 SQL CTE 中调用存储过程

[英]Call a Stored procedure in SQL CTE

Are you allowed to exec stored procedures within a SQL CTE statement?您是否允许在 SQL CTE 语句中执行存储过程? I'm a bit new to sql cte queries...我对 sql cte 查询有点陌生...

No, sorry.不,对不起。 SELECTs statments only仅选择语句

If you need to use stored proc output (result set), then it'd be a temp table如果您需要使用存储过程 output(结果集),那么它将是一个临时表

CREATE TABLE #foo (bar int...)

INSERT #foo (bar, ...)
EXEC myStoredProc @param1...

-- more code using #foo

You can also use table variable:您还可以使用表变量:

DECLARE @tbl TABLE(id int ,name varchar(500) ,...)      
    INSERT INTO @tbl        
    EXEC myprocedure @param ..

with cte as (
    SELECT * FROM @tbl  
)
select * from cte

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM