[11/15開催: PostgreSQL Conference Japan 2019 参加受付中] 
他のバージョンの文書 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 | 7.2

START TRANSACTION

名前

START TRANSACTION -- トランザクションブロックの開始

概要

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が発行されたかのように動作します。 そのため、これは"自動コミット"と呼ばれます。 他のリレーショナルデータベースシステムでも、簡便性のために自動コミット機能を提供しているものもあります。

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

SET TRANSACTIONの互換性の節も参照してください。

関連項目

BEGIN, COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION