START TRANSACTION

开始 Transaction-开始 Transaction 块

Synopsis

START TRANSACTION [ transaction_mode [, ...] ]

where transaction_mode is one of:

    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
    READ WRITE | READ ONLY
    [ NOT ] DEFERRABLE

Description

该命令开始一个新的事务块。如果指定了隔离级别,读/写模式或可延迟模式,则新事务具有那些 Feature,就像执行了SET TRANSACTION一样。这与BEGIN命令相同。

Parameters

有关此语句的参数含义的信息,请参见SET TRANSACTION

Compatibility

在标准中,不必发出START TRANSACTION来启动事务块:任何 SQL 命令都隐式地开始一个块。 PostgreSQL 的行为可以看作是在每个不跟随START TRANSACTION(或BEGIN)的命令后隐式发出COMMIT,因此通常被称为“自动提交”。其他关系数据库系统可能会提供便利的自动提交功能。

DEFERRABLE * transaction_mode *是 PostgreSQL 语言扩展。

SQL 标准要求连续* transaction_modes *之间使用逗号,但是由于历史原因,PostgreSQL 允许省略逗号。

另请参见SET TRANSACTION的兼容性部分。

See Also

BEGIN, COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION