怎么实现“select * from 存储过程”的效果?
怎么实现“select * from 存储过程”的效果?
“存储过程”返回一个数据集
------解决方案--------------------1、想办法改成 “select * from 函数”
2、
create table #...(...)
insert #... exec 存储过程
3、非正常方法,不说更好
------解决方案--------------------如果存储过程最后有select ...,直接exec 存储过程
create table 表(结构同存储过程的返回值)
insert into 表
exec 存储过程
select * from 表
------解决方案--------------------这个用存储过程不行!!!
------解决方案-------------------- --第一种方法:直接用存储过程返回的数据集,存储过程中不能有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
------解决方案--------------------那么想用select 话,就直接用函数就行了吗?