トランザクションでの作業
API ガイド へ戻る
この章では、次の操作を行う方法について説明します:
- パラメータを格納するトランザクション パラメータ バッファ(TPB)を設定する
- トランザクション ハンドルを設定および初期化する
- トランザクションを制御する API 関数を使用する
- トランザクション ID を取得する
アプリケーション内のデータ定義とデータ操作は、1 つの トランザクション --- 1 つの作業単位として扱わなければならない一連の動作を完了させるために、協調して機能する 1 つまたは複数の文 --- のコンテキストで発生します:
InterBase では、1 つの接続で、同時に複数のトランザクションを開くことができます。 これら同時に走るトランザクションは、お互いに独立しており、競合が生じる場合もあります。 1 つの接続内での複数の並列トランザクションは、複数の異なる方法でデータベースを使うようなアプリケーションに便利です。
次の表は、トランザクション操作に最も汎用的に使用される API 関数をまとめたものです。 表の中の関数の順序は、アプリケーションで通常記述されるに対応しています。
関数 | 目的 |
---|---|
|
1 つ以上のデータベースに対して、新規トランザクションを開始。 すでに宣言され、値を設定された TPB を使用。 |
|
トランザクションの変更をコミットし、その後のトランザクション処理のために、そのトランザクション コンテキストを保持。 |
|
トランザクションの変更をコミットし、トランザクションを終了。 |
isc_dpb_transaction |
データベースの作成または復旧時に、トランザクション ID の開始時の送信に使用されます。 このトランザクション ID は、64 ビット Integer 型を同じ大きさにできます。
|
|
トランザクションの変更をロールバックし、トランザクションを終了。 |
isc_spb_res_starting_trans |
これはサービス API 用。 isc_dpb_transaction と似ているが、同様の柔軟性はない。 int64 データ型値のみを要求する。
|
これらの関数の他に、次の表では、比較的使用頻度の低い API トランザクション関数を、使用時に通常現れる順序で示します。
関数 | 目的 |
---|---|
|
1 つ以上のデータベースに対して、新規トランザクションを開始。 引数の数が変化する関数をサポートしていない、 |
|
|
|
|
|
トランザクションの変更をロールバックするが、トランザクション コンテキストは保持。 |