支援的版本: 目前版本 (17) / 16 / 15 / 14 / 13
開發版本: devel
不再支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3

START TRANSACTION

START TRANSACTION — 開始一個交易區塊

概要

START TRANSACTION [ transaction_mode [, ...] ]

where transaction_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)。其他關聯式資料庫系統可能會提供自動提交功能作為一種便利。

DEFERRABLE transaction_mode是一個PostgreSQL語言擴展。

SQL標準要求在連續的transaction_modes之間使用逗號,但由於歷史原因,PostgreSQL允許省略逗號。

另請參閱SET TRANSACTION的相容性章節。

提交更正

如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步澄清的地方,請使用此表格來報告文件問題。