コーディングメモ

忘れっぽい自分に

【Oracle】PLS-00221: 'xxxxxx' がプロシージャではないか、または未定義です。

  • プロシージャがそもそも定義されていない。名前が間違っている。
  • 戻り値を返すファンクションの場合、呼び出し側に定義されていない。
    FUNCTION P_FUNCTION(
         P_PRM1        CHAR(4)
    ) RETURN NUMBER;

の場合、

declare
   N  NUMBER;
begin
    N := P_FUNCTION('PRM1');
end;
/

このように、ファンクションの戻り値をNのように取得しないと、このエラーが発生する。