以只读方式使用 FOR READ ONLY 子句

通常,您无需在 SELECT 语句中包括 FOR READ ONLY 子句。根据定义,SELECT 是只读操作,因此 FOR READ ONLY 子句通常是没有必要的。然而,在某些环境下,您必须在 SELECT 语句中包括 FOR READ ONLY 关键字。

在符合 ANSI 的数据库中,在缺省情况下,Select 游标是 update 游标。update 游标是可用来修改数据的游标。这些 update 游标与数据库的只读方式是不兼容的。例如,针对 customer_ansi 表的此 SELECT 语句失败:
EXEC SQL declare ansi_curs cursor for
        select * from customer_ansi;
解决方法是在您的 Select 游标中包括 FOR READ ONLY 子句。此子句指定的只读游标与数据库的只读模式相兼容。例如,下列针对 customer_ansi 表的 SELECT FOR READ ONLY 语句成功:
EXEC SQL declare ansi_read cursor for
        select * from customer_ansi for read only;

DB-Access 以 Select 游标执行所有的 SELECT 语句,因此,您必须在所有访问只读的符合 ANSI 的数据库中数据的查询中指定 FOR READ ONLY。FOR READ ONLY 子句导致 DB-Access 将 SELECT 语句的游标声明为只读游标。

要获取更多关于 0 级备份的信息,请参阅 GBase 8s 备份与恢复指南。要获取关于 Select 游标、只读游标和 update 游标的信息,请参阅 DECLARE 语句