.\\" auto-generated by docbook2man-spec $Revision: 1.2 $
.TH "START TRANSACTION" "" "2007-05-04" "SQL - 言語" "SQLコマンド"
.SH NAME
START TRANSACTION \- トランザクションブロックを開始する

.SH SYNOPSIS
.sp
.nf
START TRANSACTION [ \fItransaction_mode\fR [, ...] ]

\fItransaction_mode\fRには以下のいずれかが入ります。

    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
    READ WRITE | READ ONLY
.sp
.fi
.SH "説明"
.PP
このコマンドは新しいトランザクションブロックを開始します。 
隔離レベルや読み取り/書き込みモードを指定すると、SET TRANSACTION [\fBset_transaction\fR(l)]が実行された時のように、新しいトランザクションはそれらの特性を持ちます。
このコマンドの機能は、BEGIN [\fBbegin\fR(l)]コマンドと同じです。
.SH "パラメータ"
.PP
この文のパラメータの意味についてはSET TRANSACTION [\fBset_transaction\fR(l)]を参照してください。
.SH "互換性"
.PP
標準SQLでは、トランザクションブロック開始時の\fBSTART TRANSACTION\fRコマンドの発行は必須ではありません。
任意のSQLコマンドが暗黙的にブロックを開始するからです。
PostgreSQLでは、\fBSTART TRANSACTION\fR（もしくは\fBBEGIN\fR）が実行されていない状態で発行されたコマンドは、その直後に、暗黙的な\fBCOMMIT\fRが発行されたかのように動作します。
これは``自動コミット''と呼ばれます。
他のリレーショナルデータベースシステムの中にも、簡便性のために自動コミット機能を提供しているものもあります。
.PP
標準SQLでは、連続する\fItransaction_modes\fRの間にはカンマが必須です。
しかし、PostgreSQLでは歴史的な理由によりカンマを省略することができます。
.PP
SET TRANSACTION [\fBset_transaction\fR(l)]の互換性の節も参照してください。
.SH "関連項目"
BEGIN [\fBbegin\fR(l)], COMMIT [\fBcommit\fR(l)], ROLLBACK [\fBrollback\fR(l)], SAVEPOINT [\fBsavepoint\fR(l)], SET TRANSACTION [\fBset_transaction\fR(l)]
