Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » トランザクションと独立性レベル » 独立性レベルのチュートリアル

 

チュートリアル:繰り返し不可能読み出しの知識

ダーティリードのチュートリアルの例では、矛盾のタイプとして、まずダーティリードを取り上げました。その中では、Sales Manager が価格を更新している間に、Accountant が計算を実行してしまいました。Accountant は、Sales Manager が入力後に訂正を加えている過程の間違った情報を使用して計算しました。

次の例では、別のタイプの矛盾を説明します。これは、「繰り返し不可能読み出し」というものです。この例では、前の例と同じ 2 人の従業員が同時に SQL Anywhere サンプルデータベースを使用するケースを示します。Sales Manager はプラスチックバイザーに新しい価格を設定すると仮定します。Accountant は最近注文があったいくつかの品目の価格を調べるとします。

この例では、独立性レベル 0 ではなく 1 を使って、両方の接続を開始します。独立性レベル 0 は SQL Anywhere に付属の SQL Anywhere サンプルデータベースのデフォルト値です。独立性レベルを 1 に設定して、前のチュートリアルで示した一貫性が失われるケース (ダーティリード) を防止します。

注意

このチュートリアルが正常に動作するように、Interactive SQL ([ツール] » [オプション] » [SQL Anywhere]) の[データベースロックの自動解放] オプションをオフにしてください。


レッスン 1:繰り返し不可能読み出しの作成
レッスン 2:繰り返し不可能読み出しの回避