对比 SET TRANSACTION 与 SET ISOLATION

SET TRANSACTION 语句符合 ANSI SQL-92。此语句类似于 GBase 8s SET ISOLATION 语句;然而,SET ISOLATION 语句不符合 ANSI,且不提供访问模式。

下表展示您使用 SET TRANSACTION 与 SET ISOLATION 语句设置的隔离级别之间的关系。
SET TRANSACTION 相关联的 SET ISOLATION
Read Uncommitted Dirty Read
Read Committed Committed Read
不支持 Cursor Stability
(ANSI) Repeatable Read

Serializable

(GBase 8s) Repeatable Read

(GBase 8s) Repeatable Read

SET TRANSACTION 与 SET ISOLATION 语句之间的主要差异是,在事务内隔离级别的行为。对于一个事务,仅可发出 SET TRANSACTION 语句一次。请保证在那个事务期间打开的任何游标都有那个隔离级别(或访问模式,如果您正在定义访问模式的话)。在启动事务之后,您可使用 SET ISOLATION 语句在该事务内多次更改隔离级别。下列示例说明使用 SET ISOLATION 与使用 SET TRANSACTION 之间的差异。