2011-06-13 134 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