START TRANSACTION — 開始一個事務塊
START TRANSACTION [transaction_mode
[, ...] ] wheretransaction_mode
is one of: 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
,因此它通常被稱為“autocommit”。其他關係資料庫系統可能會提供 autocommit 功能作為一種便利。
DEFERRABLE
事務模式是 PostgreSQL 語言的擴充套件。
SQL 標準要求在連續的 transaction_modes
之間使用逗號分隔,但出於歷史原因,PostgreSQL 允許省略逗號。
另請參閱 SET TRANSACTION 的相容性部分。
如果您在文件中看到任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。