使用存储过程进入选择(T-SQL)

时间:2010-03-25 13:38:57

标签: sql sql-server sql-server-2005 tsql stored-procedures

我需要在select语句中访问存储过程的结果,即:

SELECT * FROM [dbo].[sp_sample]

在SQL_Server 2005中。

2 个答案:

答案 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