读书人

如何实现“select * from 存储过程”的

发布时间: 2012-01-19 00:22:28 作者: rapoo

怎么实现“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 话,就直接用函数就行了吗?

读书人网 >SQL Server

热点推荐