非再現読取り(Non-repeatable read)の防止
あなたは銀行の顧客データの分析を担当しています。
最初に、すべての顧客のデータを SELECT するスクリプトを用意します。次に、その結果に基づいていくつかの数値計算を行います(この演習では計算の詳細は扱いません)。その後、同じデータをもう一度取得し、何も変わっていないことを確認したいと考えています。
この処理は非常に重要なため、分析が終わるまで customers テーブルのデータを誰にも変更させない方がよいと判断しました。こうすることで、非再現読取りを防止できます。
この演習はコースの一部です
SQL Server におけるトランザクションとエラー処理
演習の手順
- 非再現読取りを防ぐために、適切な分離レベルを設定します。
- トランザクションを開始します。
- トランザクションをコミットします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
-- Set the appropriate isolation level
___ ___ ___ ___ ___ ___
-- Begin a transaction
___ ___
SELECT * FROM customers;
-- some mathematical operations, don't care about them...
SELECT * FROM customers;
-- Commit the transaction
___ ___