我需要在select语句中访问存储过程的结果,即:
SELECT * FROM [dbo].[sp_sample]
在SQL_Server 2005中。
答案 0 :(得分:3)
这是不可能的。您必须创建一个临时表来存储结果。
Create Table #tmp
(
...
)
Insert into #tmp
Exec dbo.StoredProcedure
表结构必须与存储过程的输出匹配。
答案 1 :(得分:1)
@Barry is right您需要先创建一个临时表并插入其中,然后在您的选择中加入该表。
但是,有许多方法可以在存储过程之间共享数据,请参阅这篇优秀的文章:How to Share Data Between Stored Procedures by Erland Sommarskog
可能适合您的一种方法是“共享”临时表。 #temp表在Parent过程中创建,可供子项使用:http://www.sommarskog.se/share_data.html#temptables