最近のアクセス:
[Isolation level] プロパティ

プログラムで作成された変更のアイソレーションレベルを設定します。

Read Committedこのアイソレーションレベルでは、ほかのユーザーによる変更はコミットが実行されるまでプログラムからは認識できません。これが既定値です。
Repeatable Readこのアイソレーションレベルでは、プログラムがコミットを行うまで、参照されるすべてのレコードに対して、ほかのユーザーによって行われた更新を読み取りません。
Serializableこのアイソレーションレベルでは、プログラムがコミットを行うまで、参照されるすべてのレコードに対して、ほかのユーザーによって行われた更新、挿入、または削除を読み取りません。
Read Uncommittedこのアイソレーションレベルでは、プログラムがまだコミットを実行していない場合でも、他のユーザーが行った変更を確認します。

適用範囲

データストアで利用できます。
データストア: Iseries、DB2 UDB、INFORMIX、MYSQL、ORACLE、POSTGRESQL、SQLSERVER
ジェネレーター: .NETJava

説明

アイソレーションレベルの設定は、読み取りと並行処理のコントロールに影響します。Read Committed を使用すると、より高いレベルの一貫性が得られますが、データベースのロックが多くなります。アイソレーションレベルの詳細については、https://en.wikipedia.org/wiki/Isolation_(database_systems) およびほかの DBMS のドキュメントを参照してください。 
重要:
  • このプロパティは Oracle では読み取り専用となり、値は Read Committed です (Oracle のデータベースではダーティーリードは行われず、ダーティーリードを許可することもありません)。 
  • SQLite (Android および iOS プログラム) で使用されるアイソレーションレベルは Read Committed です。

実行時/設計時

このプロパティは設計時にのみ適用されます。

次のプロシージャーが定義されている、項目属性 A B のトランザクションを考えてみます。
Procedure1
//項目属性に新しい値を入力し、変更をコミットします。 
new 
A=1 
B=1 
endnew 
commit 
//ほかの新しい値を入力しますが、今回は確認しません。 

new 
A=2 
B=2 
endnew 
//B の値を含むメッセージを画面に出力します。

for each 
  msg(B.ToString()) 
//どのアイソレーションレベルでも、1 と 2 が表示されます。 
endfor 

//Procedure2 を実行します。 
Procedure2() 
//Procedure2 の実行後、B の値を含むメッセージを内部変数に格納し、処理を続行します 
// (プログラムの処理が終了するまで、ユーザーにメッセージは表示されません) 。
//次に、これまでに行った変更を保存します。 
for each 
  msg(B.ToString(), nowait) //Read Uncommited と Read Commited には、11、2、3 が表示されます。
//Repeatable Read および Serializable 1、2 です。 
endfor 
commit 
//メッセージを B の値とともに内部変数に保存し、処理を続行します。 
for each 
  msg(B.ToString(), nowait) //Serializable 以外のアイソレーションレベルでは、11、2、および 3 が表示されます。
//Serializable では、Procedure2 で更新または新規作成を実行できなかったため、 
//1, 2 と表示され、コミットされていない変更があります。
endfor
Procedure2 は新しい LUW で Execute を設定しました。
//B の値を画面に表示します。 
for each 
  msg(B.ToString()) //Read Uncommited では 1 と 2 が表示され、その他では 1 のみが表示されます。 
endfor 
//A の値が 1 である限り、B の値を更新します。 
for each 
  where A = 1 
  B=11 Endfor //A と B に新しい値を追加します。 
new 
A = 3 B = 3 
endnew
 
 

プロパティの変更の適用方法

プロパティの値を設定したときに、それに対応する変更を適用するには、 [ すべてリビルド ] を実行します。

参考情報

SAC #43993 には、設定ファイル、変換などの関連情報についての詳細が記載されています。


サブページ
Created: 14/09/18 03:46 by Admin Last update: 23/02/13 20:10 by Admin
カテゴリ
Powered by GXwiki 3.0