兼容 ANSI 的数据库中的游标的示例

在兼容 ANSI 的数据库中,与 SELECT 语句相关联的游标在缺省情况下是一个更新游标。

下面的示例声明了一个兼容 ANSI 的数据库中的更新游标:
EXEC SQL declare x_curs cursor for select * from customer_ansi;
要在程序文档中声明此游标为更新游标,您可以指定 FOR UPDATE 选项,如下面的示例所示:
EXEC SQL declare x_curs cursor for 
          select * from customer_ansi for update;
如果希望一个更新游标只能够修改表中的一些列,则必须在 FOR UPDATE 选项中指定这些列。下面的示例声明了一个更新游标,并指定该游标只可以更新 customer_ansi 表中的 fnamelname 列:
EXEC SQL declare y_curs cursor for
          select * from customer_ansi for update of fname, lname;
如果要将一个游标变为只读游标,则必须通过在 DECLARE 语句中指定 FOR READ ONLY 选项来覆盖 DECLARE 语句的缺省行为。下面的示例声明了一个只读游标:
EXEC SQL declare z_curs cursor for
          select * from customer_ansi for read only;