トランザクションの開始を表します。
Synopsis
START TRANSACTION 
     [%COMMITMODE commitmode-value]
     [transaction-mode-commalist]
引数
commitmode-value データベースでトランザクションが実行される方法を指定します。 有効な値は EXPLICIT、IMPLICIT と NONE です。
transaction-mode トランザクションの分離モードやアクセス・モードを指定します。 単独、または複数の値を指定できます。分離モードの有効な値は、ISOLATION LEVEL READ COMMITTED と、ISOLATION LEVEL READ UNCOMMITTED です。READ ONLY と READ WRITE の有効な値です。ISOLATION LEVEL READ UNCOMMITTED は、アクセス・モードの READ WRITE と互換性がないことに注意してください。
概要
START TRANSACTION 文は、トランザクション の開始を表します。通常、SQL トランザクションは、START TRANSACTION という文で始まります。しかし、これはオプションです。COMMIT に続く最初のデータベース処理は、トランザクションが明示的に開始されていない場合に、暗黙的にトランザクションを開始します。トランザクションがすでに進行中の場合、START TRANSACTION を発行しても処理を実行せず、エラー・コードも返しません。
トランザクションの動作が正常完了できなかった場合は、SQLCODE -400 が発行されます。
Caché ObjectScript と SQL トランザクション
TSTARTTCOMMIT を使用した Caché ObjectScript トランザクション処理は、SQL 文 START TRANSACTIONCOMMIT を使用した SQL トランザクション処理とは異なり、互換性はありません。Caché ObjectScript トランザクション処理は、入れ子になったトランザクションを限定的にサポートしますが、SQL トランザクション処理ではサポートしません。また、Caché ObjectScript トランザクションは、SQL ロック制御変数と相互にやり取りしません。アプリケーションは、これら 2 種類のトランザクション処理を混同しないよう注意する必要があります。
トランザクションに SQL 更新文が含まれる場合、SQL の START TRANSACTION 文でトランザクションが開始され、COMMIT 文でコミットします。トランザクションを開始するものでない限り、TSTART/TCOMMIT を入れ子にして使用するメソッドをトランザクションに組み込むことができます。メソッドとストアド・プロシージャは、通常、設計でトランザクションの主要なコントローラにならない限り、SQL トランザクション制御文を使用しません。ストアド・プロシージャは、独自のトランザクション制御モデルの ODBC/JDBC から呼び出されるため、通常 SQL トランザクション制御文を使用しません。
関連項目
トランザクション COMMIT ROLLBACK SET TRANSACTION