PostgreSQL 9.1.1文書
前のページ | 巻戻し |  | 早送り | 次のページ

# START TRANSACTION

## 名前

START TRANSACTION -- トランザクションブロックを開始する

## 概要

    START TRANSACTION [ transaction_mode [, ...] ]

    transaction_modeには以下のいずれかが入ります。

        ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
        READ WRITE | READ ONLY
        [ NOT ] DEFERRABLE

## 説明

このコマンドは新しいトランザクションブロックを開始します。 隔離レベルや読み取り/書き込みモード、遅延モードを指定すると、SET TRANSACTIONが実行された時のように、新しいトランザクションはそれらの特性を持ちます。 このコマンドの機能は、BEGINコマンドと同じです。

## パラメータ

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

## 互換性

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

`DEFERRABLE` `transaction_mode`はPostgreSQLの言語拡張です。

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

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

## 関連項目

BEGIN, COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION

前のページ | ホーム | 次のページ
SHOW | 上に戻る | TRUNCATE