Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

データベースの整合性

Basic には、データベースの整合性を確実にする関数、Lock()Unlock() と、コマンド、TStartTCommit があります。myBASlookup ルーチンに編集機能を追加するために、これらの関数とコマンドを学習します。コマンドは、通常組み合わせて使用されます。以下はコマンドの一般的な使用方法です。

  1. 修正するレコードを選択

  2. レコードを Lock()

  3. 更新データを取得

  4. TStart を実行

  5. 新規データを格納

  6. トランザクションに TCommit を指定

  7. レコードのロックを Unlock()

Lock() コマンドを使用すると、複数のユーザが同じレコードを同時に更新しようとする競合プロセスを防ぐことができます。ただし、規約に従った動作のみ行います。指定されたグローバルを更新するアプリケーションのコードはすべて、更新するレコードを必ず Lock() するよう試みる必要があり、終了後は Unlock() する必要があります。ルーチンによって Lock() を使用しているものとしていないものがある場合は、前者のルーチンがレコードをロックするのに対し、後者のルーチンはレコードを更新します。

TStart コマンドと TCommit コマンドを使用すると、データベース・トランザクションを保護できます。トランザクションは、データベースに対する一連の変更処理 (挿入、更新、削除) です。すべてのトランザクションを完了させるか、あるいはまったく実行しないかのどちらかにする必要があります。これにより、トランザクションのすべてのグローバル (例えばデータとインデックスの両方) が同期の状態を保ちます。

FeedbackOpens in a new tab