分别创建存储过程a、b、c、d四个存储过程。并在a中调用b,在b中调用c,在c中调用d,并查看执行结果。执行a,并查看结果。(写出创建语法,执行并截图)

解决方案 »

  1.   


    alter proc a
    @a nvarchar(10)
    as
    exec b @agoalter proc b
    @a nvarchar(10)
    as
    exec c @agoalter proc c
    @a nvarchar(10)
    as
    exec d @agoalter proc d
    @a nvarchar(10)
    as
    if @a=1
    begin
    exec a @a
    end
    else
    begin
    select @a
    endgoexec a 3
      

  2.   


    先Create a,b,c,d
    Create proc sp_a
    @a nvarchar(10)
    as 
    select 1Create proc sp_b
    @a nvarchar(10)
    as 
    select 1Create proc sp_c
    @a nvarchar(10)
    as 
    select 1Create proc sp_d
    @a nvarchar(10)
    as 
    select 1再Alter
    alter proc sp_a
    @a nvarchar(10)
    as 
    exec b @aalter proc sp_b
    @a nvarchar(10)
    as 
    exec c @aalter proc sp_c
    @a nvarchar(10)
    as 
    exec d @aalter proc sp_d
    @a nvarchar(10)
    as 
    select @a
    然后执行SP_A
    exec sp_a @a
      

  3.   


    直接这样:
    Create proc sp_a
    @a nvarchar(10)
    as
    exec sp_b @agoCreate proc sp_b
    @a nvarchar(10)
    as
    exec sp_c @agoCreate proc sp_c
    @a nvarchar(10)
    as
    exec sp_d @agoCreate proc sp_d
    @a nvarchar(10)
    as
    select @agoexec a 3
      

  4.   

    create proc lin1
    as
      begin
         select 1
         exec lin2
      end
    go
    create proc lin2
    as
      begin
        select 2
        exec lin3
      end
    go
    create proc lin3
    as
      begin
        select 3
        exec lin4
      end
    go
    create proc lin4
    as
      begin
        select 4
      end
    go
    exec lin1
    go
    /*
    1
    2
    3
    4
    */