如何在定义游标的时候使用动态sql?

darzui 2005-12-12 05:42:58
有如下的语句

declare @qa nvarchar(200)
declare @i int
declare @sql nvarchar(255)

set @i = 1
while @i <= 5
begin
set @sql = 'select q' + convert(nvarchar(2), @i) + ' from ImportSurveyInfo'
set @i = @i + 1
declare cur cursor for exec @sql
open cur
fetch cur into @qa
select @qa
close cur
deallocate cur
end
其中ImportSurveyInfo是一个数据表,有q1, q2, q3。。。这样的数据字段。
运行的时候报错,错误信息为“在关键字 'exec' 附近有语法错误。”
请问改如何在定义游标的时候使用动态sql?谢谢
...全文
180 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
WangZWang 2005-12-12
  • 打赏
  • 举报
回复
declare @qa nvarchar(200)
declare @i int
declare @sql nvarchar(255)

set @i = 1
while @i <= 5
begin
set @sql = 'declare cur cursor for
select q' + convert(nvarchar(2), @i) + ' from ImportSurveyInfo'
set @i = @i + 1
exec(@sql)
open cur
fetch cur into @qa
select @qa
close cur
deallocate cur
end

34,837

社区成员

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

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