Name
START TRANSACTION -- 开始一个事务块
Synopsis
START TRANSACTION [ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ]
输出
- START TRANSACTION
成功后返回的信息。
- WARNING: BEGIN: already a transaction in progress
如果命令发出的时候已经有一个事务正在处理了,返回此信息。
描述
这条命令开始一个新的事务。如果声明了隔离级别,那么新事务
就使用那个隔离级别。在其它方面,这条命令的行为和
BEGIN 命令一样。
兼容性
SQL99
SERIALIZABLE 是 SQL99 中的缺省
隔离级别,但这不是 PostgreSQL 里的常用缺省:
出厂的缺省设置是 READ COMMITTED。
PostgreSQL 并不提供 READ UNCOMMITTED
和 REPEATABLE READ 隔离级别。同时,因为缺少断言锁定,
SERIALIZABLE 级别也不是真正的可串行化的级别。
参阅用户手册获取细节。
在 SQL99 里,这个语句还可以声明另外两个
新事务的属性:这个事务是否只读以及诊断区的大小。目前,
PostgreSQL 还不支持这两个概念。