【问题标题】:Using Stored Procedure into Select (T-SQL)在选择中使用存储过程 (T-SQL)
【发布时间】:2010-03-25 13:38:56
【问题描述】:

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

SELECT * FROM [dbo].[sp_sample]

在 SQL_Server 2005 中。

【问题讨论】:

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


    【解决方案1】:

    这是不可能的。您必须创建一个临时表来存储结果。

    Create Table #tmp
    (
    ...
    )
    Insert into #tmp
    Exec dbo.StoredProcedure
    

    表结构必须与存储过程的输出相匹配。

    【讨论】:

    • 事实上,我的 select 语句是在视图中......我使用 SP 的任何想法,因为我需要一个临时表。
    【解决方案2】:

    @Barry is right 您需要先创建一个临时表并插入其中,然后在您的选择中加入该表。

    但是,存储过程之间共享数据的方式有很多,请参阅这篇优秀的文章:How to Share Data Between Stored Procedures by Erland Sommarskog

    一种可能对您有用的方法是“共享”一个临时表。 #temp 表是在 Parent 过程中创建的,可供 Child 使用:http://www.sommarskog.se/share_data.html#temptables

    【讨论】:

      猜你喜欢
      • 2016-11-07
      • 2014-06-07
      • 2016-06-08
      • 2018-10-03
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多