START TRANSACTION

Name

START 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

描述

该命令启动了一个新事物块。如果这个隔离级别或者读/写模式被指定,新的事务有这些特性, 犹如SET TRANSACTION已经执行。这与BEGIN命令 是相同的。

参数

参阅SET TRANSACTION获取关于该语句参数的意义的信息。

兼容性

在标准里,没必要声明START TRANSACTION来开始一个事务块:任何 PostgreSQL语句都隐含地开始一个事务块。 PostgreSQL的行为可以认为是隐含地在每条没有跟在 START TRANSACTIONBEGIN的命令后面自动发出一条 COMMIT,因此这个行为常被称作"自动提交"。其它关系数 据库系统可能也提供自动提交的特性。

SQL 标准要求在相连的transaction_modes之间有逗号, 但是出于历史原因,PostgreSQL允许省略这个逗号。

再查阅SET TRANSACTION的兼容性的部分。

又见

BEGIN, COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION