START TRANSACTION

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 |  | 下一页

# START TRANSACTION

## 名称

START TRANSACTION -- 开始一个事务块

## 大纲

    START TRANSACTION [ transaction_mode [, ...] ]

    这里的 transaction_mode是下列之一：

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

## 描述

这条命令开始一个新的事务块。如果声明了隔离级别、读写模式或可推迟模式， 那么新事务就使用这些特性，如同执行了SET TRANSACTION一样。 它和BEGIN命令等价。

## 参数

参阅SET TRANSACTION获取有关这个语句参数含义的信息。

## 兼容性

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

`DEFERRABLE` `transaction_mode` 是一个PostgreSQL语言扩展。

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

又见SET TRANSACTION的兼容性小节。

## 又见

BEGIN, COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION

上一页 | 起始页 | 下一页
SHOW | 上一级 | TRUNCATE