※ ChatGPTを利用し、要約された質問です(原文:シェルからsqlplusたたいて、ストアド呼び出し後の処理について。)
シェルからsqlplusを使用してストアドの呼び出し後の処理について
このQ&Aのポイント
ストアドのヘッダ部がコンパイルエラーの場合、EXCEPTIONに引っかかってくれない
本体のコンパイルエラーはEXCEPTIONに引っかかりますが、ヘッダ部のエラーには気づかず処理を続行してしまいます
エラーハンドリングの方法についてアドバイスをいただきたい
シェルからsqlplusたたいて、ストアド呼び出し後の処理について。
質問です。
shellからSqlplus→ストアド呼び出しを行います。
まず、ソースをご覧下さい。
VARIABLE ret NUMBER;
DECLARE
cnvtStat NUMBER;
BEGIN
cnvtStat := 0;
cnvtStat := PK_TEST.TEST(A);
IF ( cnvtStat >= 0 ) THEN
:ret := 0;
ELSE
:ret := 9;
END IF;
EXCEPTION
WHEN OTHERS THEN
:ret := 9;
END;
となっています。
困っていることは
ストアドのヘッダ部がコンパイルエラーの場合、
EXCEPTIONに引っかかってくれないのです。
本体のコンパイルエラーはEXCEPTIONに引っかかります。
このままでは、ヘッダがコンパイルエラーで
ストアド処理が行われないのに、
呼び出し側では気づかず処理を続行してしまいます。
どのようにエラーハンドリングすればよいのか
皆さんお手数かけますが、アドバイスよろしくお願いします。
補足
ありがとうございます。 早速試してみます。