ダーティリードを防ぐ
$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;