START TRANSACTION(7)

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 [set_transaction(7)]が実行された時のように、新しいトランザクションはそれらの特性を持ちます。 このコマンドの機能は、BEGIN [begin(7)]コマンドと同じです。

パラメータ

この文のパラメータの意味についてはSET TRANSACTION [set_transaction(7)]を参照してください。

互換性

標準SQLでは、トランザクションブロック開始時のSTART TRANSACTIONコマンドの発行は必須ではありません。 任意のSQLコマンドが暗黙的にブロックを開始するからです。 PostgreSQLでは、START TRANSACTION（もしくはBEGIN）が実行されていない状態で発行されたコマンドは、その直後に、暗黙的なCOMMITが発行されたかのように動作します。 これは``自動コミット''と呼ばれます。 他のリレーショナルデータベースシステムの中にも、簡便性のために自動コミット機能を提供しているものもあります。

標準SQLでは、連続するtransaction_modesの間にはカンマが必須です。 しかし、PostgreSQLでは歴史的な理由によりカンマを省略することができます。

SET TRANSACTION [set_transaction(7)]の互換性の節も参照してください。

関連項目
BEGIN [begin(7)], COMMIT [commit(7)], ROLLBACK [rollback(7)], SAVEPOINT [savepoint(7)], SET TRANSACTION [set_transaction(7)]