始める無料で始める

ダーティリードを防ぐ

$50,000 を超える残高を持つ口座がいくつあるか分析します。

口座数は重要な結果なので、まだ COMMIT も ROLLBACK もされていない他のトランザクションが変更したデータは読み取りたくありません。こうすることで、ダーティリードを防ぎます。ただし、非再現読取り(non-repeatable read)やファントムリードは考慮しなくて構いません。

スクリプトを用意してください。

この演習はコースの一部です

SQL Server におけるトランザクションとエラー処理

コースを見る

演習の手順

  • ダーティリードを防ぐ適切な分離レベルを設定します。
  • 条件に合致する口座数を集計して選択します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

-- Set the appropriate isolation level
SET TRANSACTION ___ ___ ___ ___

-- Count the accounts
SELECT ___(*) AS number_of_accounts
FROM accounts
WHERE current_balance >= 50000;
コードを編集して実行