如何在定义游标的时候使用动态sql?
有如下的语句
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?谢谢
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?谢谢
...全文
相关推荐
存储过程和游标详解
当需要执行这些预定义的操作时,只需通过调用存储过程的名称,数据库就会自动执行其中的所有语句,无需再次编译,这大大提高了执行效率。##### 为什么引入存储过程?
一次性清空数据表sql
无论是构建动态SQL、使用游标还是调用存储过程,都需要确保在执行前备份好数据,以免造成不可挽回的损失。希望这些内容能帮助大家更好地管理和维护数据库。
浅析PowerBuilder下动态SQL语句.pdf
它支持通过游标处理查询结果,可以使用PREPARE、DECLARE、OPEN、FETCH和CLOSE语句来分别准备、声明、打开游标、获取数据和关闭游标。
数据库嵌入式SQL介绍与应用
- **宿主变量**和**处理过程**的定义。 - **动态SQL**语言,包括SQLDA的使用。
嵌入式SQL(E-SQL)简介.doc
2.3 **嵌入SQL语句总览** - **宿主变量**:在SQL语句中使用宿主语言定义的变量,如`SELECT * INTO :var FROM table`。



