START TRANSACTION

Name

START TRANSACTION -- 開始一個交易

Synopsis

START TRANSACTION [ transaction_mode [, ...] ]

這裡的 transaction_mode 可以是下列之一:

    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
    READ WRITE | READ ONLY

描述

這條命令開始一個新的交易。如果聲明了隔離級別或者讀寫模式, 那麼新交易就使用這個特性,如同執行了 SET TRANSACTION 一樣。它和 BEGIN 命令一樣。

參數

參閱 SET TRANSACTION 獲取有關這個語句參數含義的訊息。

相容性

在標準裡,沒必要聲明 START TRANSACTION 開始一個交易: 任何 SQL 語句都隱含地開始一個交易。PostgreSQL 地行為可以認為是隱含地在每條沒有跟在 START TRANSACTION (或者 BEGIN)的命令後面發出一條 COMMIT,因此這個行為常被稱作 "autocommit(自動提交)"。 其它關係資料庫系統可能也提供自動提交的特性,以便使用。

SQL 標準要求在相連的 transaction_modes 之間有逗號, 但是出於歷史原因,PostgreSQL 允許省略這個逗號。

又見 SET TRANSACTION 的相容性小節。

又見

BEGIN, COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION