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)”。其他關聯式資料庫系統可能會提供自動提交功能作為一種便利。
DEFERRABLE
transaction_mode
是一個PostgreSQL語言擴展。
SQL標準要求在連續的transaction_modes
之間使用逗號,但由於歷史原因,PostgreSQL允許省略逗號。
另請參閱SET TRANSACTION的相容性章節。
如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步澄清的地方,請使用此表格來報告文件問題。