始める無料で始める

非再現読取り(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
___ ___
コードを編集して実行