【问题标题】:Stored procedure in select statementselect语句中的存储过程
【发布时间】:2012-02-07 20:10:12
【问题描述】:

如何在SELECT 语句中运行存储过程?

例如

SELECT
  (<SQL CODE>) A,
  (<SQL CODE>) B

我想用预定义的存储过程运行或替换 SQL CODE。那么如何在SELECT 语句中运行它呢?

有什么想法吗?

【问题讨论】:

    标签: sql stored-procedures select


    【解决方案1】:

    我所知道的最接近的是insert ... exec,比如:

    declare @t1 table (col1 int, col2 varchar(50))
    insert @t1 exec ProcA
    
    declare @t2 table (col1 int, col2 varchar(50))
    insert @t2 exec ProcB
    
    select  t1.col1
    ,       t1.col2
    ,       t2.col1
    ,       t2.col2
    from    @t1 t1
    cross join
            @t2 t2
    

    表定义必须与存储过程的结果集完全相同。缺少列或稍有不同的定义会产生错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-14
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      • 1970-01-01
      • 1970-01-01
      • 2011-03-16
      相关资源
      最近更新 更多