↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 6.5 / 6.4
历史版本。 PostgreSQL 6.4 已结束支持。 请参阅 当前版本手册.

BEGIN WORK

BEGIN WORK — 开始一个事务

大纲

  
BEGIN [ WORK | TRANSACTION ]
  

输入

无

输出

→ BEGIN

这表示一个新的事务已经启动。

→ NOTICE: BeginTransactionBlock and not in default state

这表示已经有一个事务在进行中。当前事务不受影响。

描述

BEGIN 开启一个用户事务,Postgres 将保证它相对于所有并发执行的事务是可串行化的。Postgres 使用两阶段锁来完成这一任务。如果事务被提交,Postgres 将确保要么所有更新都完成,要么一个都不完成。事务具有标准的 ACID(原子性、一致性、隔离性、持久性)属性。

注意

关键字 TRANSACTION 只是 WORK 的一个修饰性替代。两个关键字都不必指定。

关于在事务中锁定表的进一步信息,请参阅 LOCK 语句。

使用 COMMIT 或 ROLLBACK 终止一个事务。

用法

开始一个用户事务:

BEGIN WORK;
  

兼容性

BEGIN 是 Postgres 语言扩展。

SQL92

SQL92 中没有显式的 BEGIN WORK 命令;事务的开启总是隐式的,它以 COMMIT 或 ROLLBACK 语句终止。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.