第一个存储过程
CREATE  PROCEDURE p_test AS
beginselect * from table1end
GO我想在另一个存储过程中使用这个结果集,但又不想修改第一个存储过程,能做到吗
第一个存储过程没有使用output有没有这种用法
select * from  dbo.p_test
函数可以这样用吧,存储过程可以这样用吗,

解决方案 »

  1.   

    本帖最后由 libin_ftsafe 于 2009-03-18 15:31:25 编辑
      

  2.   

    select * into # from [table] where 1=2insert into # exec p_test
      

  3.   

    可以定義一個臨時表
    create table #t(...)
    insert into #t exec dbo.p_test
      

  4.   

    if object_id('tb','U')is not null drop table tb    --建立測試表
    go
    create table tb(ID int ,[name] varchar(10))
    insert tb select 1,'A'
    insert tb select 2,'B'
    if object_id('pro','P')is not null drop proc pro  --建立存儲過程
    go
    create proc pro
    as 
    select * from tb
    go
    if object_id('pro2','P')is not null drop proc pro2  --建立存儲過程2
    go
    create proc pro2 
    as
    select * from openrowset( 'SQLOLEDB', 'GOLD-MIS06'; 'SA'; '20071004','EXEC DB_STUDY.DBO.PRO') 
    go
    exec pro2
    /*ID          name       
    ----------- ---------- 
    1           A
    2           B(影響 2 個資料列)*/