这样写是错的
应该这样
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
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
本文介绍了一种使用T-SQL动态创建查询语句并结合游标进行数据处理的方法。通过实例展示了如何循环生成并执行针对不同字段的查询,适用于需要动态构建SQL语句的场景。
970

被折叠的 条评论
为什么被折叠?



