日期:2014-05-18  浏览次数:20564 次

在存储过程中如何处理另外一个存储过程返回的结果集???
存储过程sp1,sp2
其中sp1是通过计算后将数据存入一个临时表,然后返回这个临时表的数据作为结果集

我想通过sp2调用sp1,并在sp1的结果集上进行一些处理

请问能实现这样的功能吗????

------解决方案--------------------



--第一种方法:直接用存储过程返回的数据集,存储过程中不能有insert、delete、update等操作数据,有很多限制。

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

------解决方案--------------------
没机会接触DB2。

楼主真幸运啊