create table #临时表(结构和返回结构一样 int)
insert #临时表 exec 过程名select * from #临时表

解决方案 »

  1.   

    create table #临时表(结构和返回结构一样 int)
    insert #临时表 exec 过程名
    declare  cursor_insert cursor for select * from #临时表
    declare @i int
    open cursor_insert
    fetch cursor_insert into @i
    while @@fetch_status=0
    begin
      print @i
      fetch cursor_insert into @i
    end
    close cursor_insert
    deallocate cursor_insert
      

  2.   

    想要怎样的效果啊?
    eg:
    create table #tmp(...)  -- 与系统存储过程的结果结构一样
    declare @a int,@b varchar(100)
    declare cur cursor for ...
    open cur
    fetch ...
    while @@fetch_status = 0
    begin
       ...
         insert #tmp exec 系统存储过程
         ...    
    end
    close cur
    deallocate cur
      

  3.   

    create table #t(与存储过程返回的结果一致)insert into #t exec 存储过程declare tb cousor for select * from #t
      

  4.   

    那还有一个问题要问:
    dbcc inputbuffer(52)--这里的52是sqlserver中的一个进程号,在各自的机器上可能不同的
    对于这样的语句在查询分析器中可以得到结果的,我也想在游标中得到,可以吗?
      

  5.   

    那个是通过 sp_who 得到的,要取得的方法与上面的类似.
      

  6.   

    那个是通过 sp_who 得到的,要取得的方法与上面的类似.不行呀,dbcc inputbuffer
    里面返回的EventInfo就得不到呀
      

  7.   

    哈哈,我知道了:
    declare @execsql varchar(200)set @execsql='dbcc inputbuffer(56)'
    create table #tmp(EventType varchar(200) null ,parameters varchar(50) null,EventInfo varchar(2000) null)
    insert #tmp exec(@execsql)select * from #tmp大家可以用做参考.
      

  8.   

    给分:
    pengdali(大力 V3.0) 最先给出解答--30分 zjcxc(邹建)给了我很好的建议--20分