beginTransaction()

現行接続に対して明示的なトランザクションを開始します。

構文

void beginTransaction()
 

パラメーター

なし。

戻り値

なし。

例外

CwDBConnectionException - データベース・エラーが発生した場合です。

注記

beginTransaction() メソッドは、現行接続における新規の明示的なトランザクションの開始を示します。beginTransaction() メソッド、commit() メソッド、および rollBack() メソッドは、明示的なトランザクションに対してトランザクション境界を管理します。このトランザクションには、SQL 照会 (SQL ステートメント INSERT、DELETE、または UPDATE を含む) と、これらの SQL ステートメントの 1 つを含むストアード・プロシージャーとが含まれます。

beginTransaction() を使用して明示的なトランザクションの開始を指定しない 場合、データベースは、各 SQL ステートメントを個別トランザクションとして実行します。

要確認:
接続が明示的なトランザクション・ブラケットを使用する場合は、beginTransaction() のみを使用します。接続が暗黙的なトランザクション・ブラケットを使用する場合は、beginTransaction() を使用すると、CwDBTransactionException 例外が発生します。

明示的なトランザクションを開始する前に、BaseDLM クラスから getDBConnection() メソッドを使用して、CwDBConnection オブジェクトを作成する必要があります。この接続では、明示的なトランザクション・ブラケットを必ず使用してください。

次の例は、トランザクションを使用して、CustDBConnPool の中の接続に関連付けられているデータベースの表に行を挿入する照会を実行します。

CwDBConnection connection = getDBConnection("CustDBConnPool", false);
  
 // Begin a transaction
 connection.beginTransaction();
  
 // Insert a row
 connection.executeSQL("insert...");
  
 // Commit the transaction
 connection.commit();
  
 // Release the connection
 connection.release();
 

参照項目

commit(), getDBConnection(), inTransaction(), rollBack()

Copyright IBM Corp. 2004