--第一
create table a
( fid numeric(10),
fno varchar(10),
fname varchar(50)
)insert into a
values(1,'1','1')--第二步
IF EXISTS (SELECT name FROM sysobjects WHERE  name = 'p_c' AND type = 'P')
    DROP PROCEDURE p_c
GO
CREATE PROCEDURE p_c
AS
SELECT * from a
GO
EXECUTE p_c
GO--第三
IF EXISTS (SELECT name FROM sysobjects WHERE  name = 'p_b' AND type = 'P')
    DROP PROCEDURE p_b
GO
CREATE PROCEDURE p_b
AS
IF EXISTS(SELECT name FROM sysobjects WHERE  name = N'b' AND type = 'U')
    DROP TABLE b
create table b 
(
fid numeric(10),
fno varchar(10),
fname varchar(50)
)
insert into b exec p_c
select * from b
GO
EXECUTE p_b
GO

解决方案 »

  1.   

    create table test(id int,code varchar(10))
    insert into test select 1,'AAAA'
    insert into test select 2,'BBBB'
    gocreate procedure sp_test1(@id int)
    as
    begin
        select * from test where id=@id
    end
    go
    create procedure sp_test2(@id int)
    as
    begin
        create table #(id int,code varchar(10))
        insert # exec sp_test1 @id
        
        select * from #
    end
    goexec sp_test2 1
    godrop procedure sp_test1,sp_test2
    drop table test
    go