1. 学ぶ
  2. /
  3. コース
  4. /
  5. PostgreSQL におけるトランザクションとエラー処理

Connected

演習

DO ステートメントを書こう

データクレンジングでは、不正な日付が含まれているデータを受け取ることがよくあります。これにより例外が発生し、SQL ステートメントが停止してしまいますが、例外ハンドラー付きの DO 関数を使えば、処理を最後まで実行できます。ここでは、patients テーブルの created_on 列でそのような例外をどのように扱うかを見ていきます。あわせて、DO 形式の関数も使ってみましょう。

指示

100 XP
  • 例外を捕捉するための DO 関数を作成します。
  • トランザクションを BEGIN し、patients に行(a1c = 5.8、glucose = 89、fasting = TRUE、created_on = '37-03-2020 01:15:54')を INSERT します。
  • EXCEPTION ハンドラーを追加し、エラー時には errors テーブルの detail 列に 'bad date' を挿入します。
  • 言語は 'plpgsql' を指定します。