始める無料で始める

セーブポイントでロールバックする

前の演習に続いて、MMDA が 600 万ドルを超える銀行は、同じ資産クラスで 500〜600 万ドルの銀行に比べて景気後退期に持ちこたえる可能性が 2 倍高いことがわかりました。ここではサンプルコードに誤りがあるため、データの整合性を保つためにセーブポイントまでロールバックする必要があります。

この演習はコースの一部です

PostgreSQL におけるトランザクションとエラー処理

コースを見る

演習の手順

  • トランザクション内で、RCON6810(MMDA 金額)が 600 万ドル超の行の FIELD48'MMDA+' に設定します。
  • mmdaplus_flag_set をセーブポイントとして設定します。
  • RCON6810(MMDA 金額)が 500 万ドル超の行の FIELD48'MMDA+' に設定します(これは誤りです)。
  • mmdaplus_flag_set まで取り消してトランザクションを終了し、'MMDA+' のレコード数を数えます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

BEGIN;

-- Set the flag to MMDA+ where the value is greater than $6 million
UPDATE ffiec_reci set FIELD48 = 'MMDA+' where RCON6810 > 6000000;

-- Set a Savepoint
___ mmdaplus_flag_set;

-- Mistakenly set the flag to MMDA+ where the value is greater than $5 million
UPDATE ffiec_reci set FIELD48 = 'MMDA+' where ___ > 5000000;

-- Rollback to savepoint
___ TO ___;

COMMIT;

-- Select count of records where the flag is MMDA+
SELECT count(FIELD48) from ffiec_reci where FIELD48 = 'MMDA+';
コードを編集して実行