REPEATABLE READ を使ってみる
ビデオの内容を踏まえて、REPEATABLE READ のトランザクションを実際に試してみましょう。消費者の預金を受け入れている場合、銀行の社内資産に「安定性」係数を設定したいとします。これは、RCONP752 によって銀行が消費者向け預金口座を許可しているかどうかが示されるため、カスタムフィールド FIELD48 を保持値に設定することで行います。
外部トランザクションからの干渉があると、この係数の適用が変わってしまいます。REPEATABLE READ は、トランザクション内の最初のクエリを実行した時点で利用可能だったデータが、外部要因によって変更されることからトランザクションを保護します。
この演習はコースの一部です
PostgreSQL におけるトランザクションとエラー処理
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
-- Create a new transaction with a repeatable read isolation level
___ ___ ___ ___ ___ ___;
-- Update records for banks that allow consumer deposit accounts
UPDATE ffiec_reci
SET FIELD48 = 100
WHERE RCONP752 = 'true';
-- Update records for banks that do not allow consumer deposit accounts
UPDATE ffiec_reci
SET FIELD48 = 50
WHERE RCONP752 = 'false';
-- Commit the transaction
___;