我有一个存储过程(有参数),返回一个记录集。
我想将返回的记录集直接插入到SQL的临时表中(不能是全局的),请大虾帮忙!谢谢!

解决方案 »

  1.   

    --定义一个与存储过程返回数据集一致的临时表.类似如下:
    CREATE TABLE #(...
    )INSERT INTO # EXEC 存储过程
      

  2.   

    select * into newtable from Northwind.dbo.Employees
    select * from newtable
      

  3.   

    CREATE TABLE #(...
    )INSERT INTO # EXEC 存储过程create talbe temptable(
      )
    go
    insert [into] temptable
     exec sp
      

  4.   

    --第一种方法:直接用存储过程返回的数据集select * from openrowset('sqloledb','Trusted_Connection=yes','exec 数据库名.dbo.存储过程名') select * from openrowset('sqloledb','Trusted_Connection=yes','exec 数据库名..存储过程名') select * from openrowset('sqloledb','localhost';'用户名';'密码','exec 数据库名..存储过程名')select * from openrowset('sqloledb','192.168.0.1';'用户名';'密码','exec 数据库名..存储过程名')-第二种方法:先创建临时表,然后再追加create table #t(...)insert into #t exec 存储过程名select * from #t