VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

使用游标

功能描述

为了迭代预备语句结果集声明了游标。 该命令与直接SQL命令DECLARE略微有些不同语法: 后者执行查询并且为检索准备结果集,这个嵌入SQL命令只为迭代查询结果集 声明作为”循环变量”的名字; 当使用OPEN命令打开游标时,发生实际执行情况。

接口原型

 EXEC SQL DECLARE cursor_name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR prepared_name
 EXEC SQL DECLARE cursor_name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR query

参数说明

参数名 参数说明
cursor_name 游标名大小写敏感。这可以是一个SQL标识符或者宿主变量。
prepared_name 一个准备好查询的名字,要么作为SQL标识符或者宿主变量。
query SELECT或者VALUES命令 将提供通过游标返回的行。

返回值

其他

举例说明使用接口:

  • 为查询声明游标

    EXEC SQL DECLARE C CURSOR FOR SELECT * FROM My_Table;
    EXEC SQL DECLARE C CURSOR FOR SELECT Item1 FROM T;
    EXEC SQL DECLARE cur1 CURSOR FOR SELECT version();
    
  • 为预备语句声明游标:

    EXEC SQL PREPARE stmt1 AS SELECT version();
    EXEC SQL DECLARE cur1 CURSOR FOR stmt1;