• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:postgresのストアドファンクションでエラーの)

PostgreSQLストアドファンクションのエラーを捕捉する方法

このQ&Aのポイント
  • PostgreSQLのストアドファンクションでエラーが発生した場合、どのように捕捉するかについて教えてください。
  • 例えば、INSERT文を実行し、重複エラーが発生した場合はUPDATE文に切り替えるサンプルがありますが、エラーが発生した時にはFALSEを返すか、エラーコードをそのまま返すサンプルが欲しいです。
  • DECLAREブロック内で何かしらのSQLを実行し、すべてのエラーを捕捉する場合、どのように処理すればよいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • kozax05
  • ベストアンサー率100% (2/2)
回答No.1

こんな感じで処理出来ると思います。 EXCEPTION WHEN OTHERS THEN SELECT SQLSTATE || ':' || SQLERRM INTO V_STATUS; RETURN V_STATUS;

questorfe
質問者

お礼

有難うございます。 SQLSTATEがコードでSQLERRMがメッセージですね。 『EXCEPTION』の下に複数の『WHEN』を切れるようですね。 EXCEPTION WHEN unique_violation THEN 処理 RETURN; WHEN others THEN 処理 RETURN;

関連するQ&A