向大家请教一个关于游标的问题!

Freeper 2003-08-20 05:53:18
请问各位大虾动态的SQL语句(exec)能否嵌套在游标里面?如果可以的话,相应的SQL语句怎样写??恳请赐教!!!!
...全文
19 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
goneaway 2003-08-21
  • 打赏
  • 举报
回复
是可以的。
1、列固定的可先执行sql,生成临时表,在在临时表上定义游标。
2、直接用EXECUTE sp_executesql @sql_str定义游标
例:
set @t1='declare cursor_1 cursor forward_only static read_only
for '+@select_str
EXECUTE sp_executesql @t1
pbsql 2003-08-20
  • 打赏
  • 举报
回复
哦,关键是这个:
insert #临时表 exec sp_executesql(N'select .....')
pengdali 2003-08-20
  • 打赏
  • 举报
回复
create table #临时表 (结构和exec返回结构相同)
insert #临时表 exec sp_executesql(N'select .....')


declare cursor_insert cursor for select xx from #临时表
declare @i int
open cursor_insert
fetch cursor_insert into @i
while @@fetch_status=0
begin
print @i
fetch cursor_insert into @i
end
close cursor_insert
deallocate cursor_insert
hjb111 2003-08-20
  • 打赏
  • 举报
回复
不能!
pengdali 2003-08-20
  • 打赏
  • 举报
回复
declare @表名 varchar(100)
set @表名='aaa'

exec('declare cursor_insert cursor for select c# from '+@表名)

declare @i int
open cursor_insert
fetch cursor_insert into @i
while @@fetch_status=0
begin
print @i
fetch cursor_insert into @i
end
close cursor_insert
deallocate cursor_insert
pbsql 2003-08-20
  • 打赏
  • 举报
回复
不可以,无法得到动态的SQL语句(exec)返回的结果集

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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