如图:
数据库中有个他人建立的存储过程 pr_get_new_billno, 没有输入输出参数 , 由于在存储过程内容有一条语句  select @billno,
所以在运行该存储过程后 或在结果窗口显示 billno 的值.我想做的是:
怎样在不对现有存储过程做修改, 也不新建一个存储过程的情况下.
在运行后能够得到 billno 的值.感谢各位.

解决方案 »

  1.   


    create proc sp_getdata
    as 
    select 'AAAAA'
    go
    -- 把结果写到临时表
    declare @t table( name varchar(30))
    insert into @t exec sp_getdata
    select * from @t
    go
    drop proc sp_getdata
    go
     
    (1 行受影响)
    name
    ------------------------------
    AAAAA(1 行受影响)
      

  2.   

    建一个临时表或者表变量用 insert exec 的方式接收就可以了
      

  3.   

    在存储过程的 后面 直接if object_id(N'一张实体表',N'U') is null
    SELECT * into zrztemp FROM  #T1 
    ELSE
    DROP TABLE 一张实体表
    SELECT * into 一张实体表 FROM  #T1 
    这样也可以
      

  4.   


    CREATE PROCEDURE sp_test(@i int )
    AS
    BEGIN
        SELECT  @i
      
    END
    DECLARE @k INT 
    SELECT @k=i FROM OPENROWSET('SQLNCLI', 'server=(local);trusted_connection=yes', 'EXEC sp_test 10 WITH RESULT SETS ((i int))')
    PRINT @k
    /*  10 */