简单例子
create procedure sp_b
as
select * from 表1
gocreate procedure sp_a 
as
insert into 表2
exec sp_b --->调用一个sp返回一个数据集合,然后插入
go

解决方案 »

  1.   

    还有其他方式的调用,看你要返回数据集合还是返回一个output,后者是远程server上面的sp罗
      

  2.   

    create procedure spnamea
    as
    .......
    gocreate procedure spnameb 
    as
    ......
    exec spnameA
    go
      

  3.   


    把@test作为output参数或者存储过程返回值CREATE PROCEDURE sp_test
    (
        @Y_A_A_Nums int=0 output,
        @Test int output
    )
    AS
    DECLARE @Sql nvarchar(1000
    SET @Sql ='SELECT @Y_A_A_Nums=Y_A_A FROM Init_Week WHERE Member_Code=''QCRX1381'' AND StartDay=''2005-7-31'' AND EndDay=''2005-8-6'''
    EXEC sp_executesql @Sql,N'@Y_A_A_Nums int out',@Y_A_A_Nums out
    IF @Y_A_A_Nums IS NULL
    SET @Y_A_A_Nums=0
    SET @Test = 1
    go然后在另一个过程中:
    create procedure p
    as
    declare @nums int,@test int
    exec sp_test @nums out,@test out
    select @nums,@test
      

  4.   

    create procedure sp1
    (
    @a varchar(10),
    @b varchar(10) output
    )
    AS
    ......
    create procedure sp2
    asdeclare @c varchar(10),
            @d varchar(10)
    select @c ='aaa'
    exec sp1 @c,@d output
    .....