2011-06-13 137 views

回答

27

不,对不起。选择statments只有

如果您需要使用存储过程输出(结果集),那么这将会是一个临时表

CREATE TABLE #foo (bar int...) 

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

-- more code using #foo 
+0

是否可能使用tablevar来解决? – Revious 2014-05-08 14:41:47

+0

@狡猾:我认为是的,但它取决于版本。旧版本(SQL 2000,也许SQL Server 2005)不允许它 – gbn 2014-05-09 07:36:52

+0

你知道如何编写它吗? – Revious 2014-05-09 08:07:21

1

您还可以使用表变量:

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

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