游标循环

游标在WHILE语句、LOOP语句中的使用称为游标循环,一般这种循环都需要使用OPEN、FETCH和CLOSE语句。下面要介绍的一种循环不需要这些操作,可以简化游标循环的操作,这种循环方式适用于静态游标的循环,不用执行静态游标的四个步骤。

语法

FOR AS循环的语法请参见图1

图 1 FOR_AS_loop::=

注意事项

  • 不能在该循环语句中对查询的表进行更新操作。
  • 变量loop_name会自动定义且只在此循环中有效,类型和select_statement的查询结果类型一致。loop_name的取值就是select_statement的查询结果。
  • 变量loop_name在编译过程中不会解析具体的类型,如果有需要解析具体类型的场景(比如loop_name作为重载函数或者存储过程的出入参)会编译报错。如需解析变量的具体类型,可以设置参数behavior_compat_options='allow_procedure_compile_check'。
  • 游标的属性中%FOUND、%NOTFOUND、%ROWCOUNT在openGauss数据库中都是访问同一个内部变量,事务和匿名块不支持多个游标同时访问。
意见反馈
编组 3备份
    openGauss 2024-04-24 00:47:53
    取消