在存储过程中怎样才能取得动态SQL语句返回的结果集~

chengangcsdn 2006-04-21 01:23:37
在存储过程中有如下语句:
declare @sqlstr
declare @tablename

set @tablename='rs_dept'

set @sqlstr='select * from'+@tablename

exec(@sqlstr)
....下面我要对这个语句返回的结果集进行操作

我如何取得这个动态SQL语句返回的结果集
...全文
270 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengangcsdn 2006-04-25
  • 打赏
  • 举报
回复
xeqtr1982(ShaKa) ( )
的方法是可行的。但必须是真实表!我希望多用户同时执行这个过程是不能相互干扰的!
xeqtr1982 2006-04-25
  • 打赏
  • 举报
回复
可以用全局临时表##
chengangcsdn 2006-04-25
  • 打赏
  • 举报
回复
TO: itblog(i like i do)

不对!我要更新怎么做!

TO: xeqtr1982(ShaKa) ( )

我想用临时表或表变量做!
因为实表不好控制多用户操作!
--------
我是想在同一过程中对我的动态语句结果集进行操作
lzhs 2006-04-25
  • 打赏
  • 举报
回复
SELECT a.*
Into #Temp
FROM OPENROWSET('SQLOLEDB','Server';'UserID';'Pwd',
@Sql) AS a


不知道这样行不行。
因为我这儿没有办法测试,你自己试试吧。

liangpei2008 2006-04-21
  • 打赏
  • 举报
回复
学习
regithanhu 2006-04-21
  • 打赏
  • 举报
回复
路过!
做鸡真好吃 2006-04-21
  • 打赏
  • 举报
回复
Mark~
panjinfu80 2006-04-21
  • 打赏
  • 举报
回复
执行就可以得了结果集了。
xeqtr1982 2006-04-21
  • 打赏
  • 举报
回复
把结果into到一张表里,然后处理
itblog 2006-04-21
  • 打赏
  • 举报
回复
改一下:上边from后面少一个空格

alter proc sp_a
@tablename varchar(100)
as
declare @sqlstr varchar(1000)
set @sqlstr='select * from '+@tablename
exec(@sqlstr)
GO


exec sp_a 'rs_dept'
go
itblog 2006-04-21
  • 打赏
  • 举报
回复
create proc sp_a
@tablename varchar(100)
as
declare @sqlstr varchar(1000)
set @sqlstr='select * from'+@tablename
exec(@sqlstr)
GO


exec sp_a 'rs_dept'
go

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧