创建了一个存储过程,里面做了一个临时表前面接口里,想调用这个临时表,得到里面的记录集,如何实现?

解决方案 »

  1.   

    存储过程里  select * from #tb
      

  2.   

    在存储过程外部调用内部创建的临时表?
    还是调用存储过程返回的数据集?使用存储过程返回的数据如下:
    --第一种方法
    select * into #t
    from openrowset('sqloledb','192.166.0.1';'sa';'000','exec MkMis_zj.dbo.sp_test')--select * into #t
    --from openrowset('sqloledb','192.166.0.1';'sa';'000','exec MkMis_zj..sp_test')--select * into #t
    --from openrowset('sqloledb','localhost';'sa';'000','exec MkMis_zj.dbo.sp_test')--select * into #t
    --from openrowset('sqloledb','localhost';'sa';'000','exec MkMis_zj..sp_test')select * from #tdrop table #t
    -第二种方法
    select * from openrowset('sqloledb','Trusted_Connection=yes','exec MkMis_zj.dbo.sp_test') 
    select * from openrowset('sqloledb','Trusted_Connection=yes','exec MkMis_zj..sp_test') 
      

  3.   

    存储过程中调用完成后,如果将临时表drop掉了,就没有办法处理,除非临时表不删除。
      

  4.   

    在存储过程的最后,用select * from #t返回
    然后访问存储过程的数据集
      

  5.   

    修改存储过程,就存储过程加上 select * from #tb
      

  6.   

    临时表成功的,在查析分析器里已经出来记录集想把查出来的记录值,赋到ADO的recordset里,但是前台执行存储过程出错了
      

  7.   

    ---是不是取得是空集?如果是这样的话,在存储过程开头加上 set nocount on
      

  8.   

    问题是怎么取exec GetCheckBus '2006-03-27','','',0这样直接前台执行SQL语句一样执行一下,还是像楼上说的-第二种方法
    select * from openrowset('sqloledb','Trusted_Connection=yes','exec MkMis_zj.dbo.sp_test') 
    select * from openrowset('sqloledb','Trusted_Connection=yes','exec MkMis_zj..sp_test') 这样来做,
      

  9.   

    第二种方法的
    select * from openrowset('sqloledb','Trusted_Connection=yes','exec exec GetCheckBus '2006-03-27','','',0 ' ) 这样子的话,会出错
      

  10.   

    select * from openrowset('sqloledb','Trusted_Connection=yes','exec database.dbo.GetCheckBus '2006-03-27','','',0 ' )
      

  11.   

    顶,还是没解决
    select @sql = @sql + ' select * from #Regist_bus order by bus_start_time'
    exec (@sql)我最后是这样的,存储过程里,我想得到 exec (@sql) 返回的记录集,如何得到
      

  12.   

    建议用函数,定义返回值为 table类型的函数,
    然后 select * from  Function(var1,var2)就好了
      

  13.   

    这个问题我遇到过,我印像中是这样处理的.
    首先子陌红尘说得完全正确.如果你得不到临时表内容的话.建议你用ODBC来进行数据库的连接.这样应该就可以了.