如何在一个存储过程中调用另一个存储过程,共用同一个参数?在线.....

解决方案 »

  1.   

    一样的阿,直接引用就行了,试试下面的sql就知道了
    create proc a
    (@a int)
    as 
    return
    Go
    create proc b
    (@b int)
    as 
    exec a @b
    return
    Go
    exec b 1
      

  2.   

    CREATE PROCEDURE GH_HZ
    @START DATETIME,
    @END DATETIME,
    @PEOP INT
    AS
    if @PEOP=1 
    BEGIN
       SELECT SUM(ZRS) AS ZRS,SUM(PTH) AS PTH,SUM(ZJH) AS ZJH FROM ( EXEC GH_RSTJ @START,@END RETURN)//这里出错,应该怎么写???GH_RSTJ是另一个PROC
    END
    IF @PEOP=2
    BEGIN
       SELECT SUM((GHF+ZJF+ZLF+BLF)*(100-JMBL)/100) AS ZJE,SUM(GHF*(100-JMBL)/100) AS GHF,SUM(ZJF*(100-JMBL)/100) AS ZJF,SUM(ZLF*(100-JMBL)/100) AS ZLF,SUM(BLF*(100-JMBL)/100) AS BLF FROM GH_BASE
    WHERE GHDATE BETWEEN @START AND @END
    END
    GO
      

  3.   


    这样似乎不行,你可以
    1 用return的值
    2 用临时表
    3 用动态sql
    4 重新用openquery等调用
      

  4.   


    这样似乎不行,你可以
    1 用return的值
    2 用临时表
    3 用动态sql
    4 重新用openquery等调用