.\\" auto-generated by docbook2man-spec $Revision: 1.2 $
.TH "START TRANSACTION" "" "2005-01-19" "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
標準では、トランザクションブロックの開始に\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)]
