テーブルでファントムリードを防ぐ
今日は、銀行のすべての顧客データを分析する必要があります。とても重要な情報なので、customers テーブル全体をロックして、このテーブルの内容を誰も変更できないようにしようと考えています。そうすることで、ファントムリードを防げます。
その情報を取得するためのスクリプトを用意し、取得した結果に対していくつかの数値計算を行います(この演習では計算処理自体は扱いません)。その後、同じデータをもう一度取得し、何も変わっていないことを確認したいと考えています。
この演習はコースの一部です
SQL Server におけるトランザクションとエラー処理
演習の手順
- ファントムリードを防ぐために、適切な分離レベルを設定してください。
- トランザクションを開始してください。
- トランザクションをコミットしてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
-- Set the appropriate isolation level
___ ___ ___ ___ ___
-- Begin a transaction
___ ___
SELECT * FROM customers;
-- After some mathematical operations, we selected information from the customers table.
SELECT * FROM customers;
-- Commit the transaction
___ ___