パッケージやプロシージャを再コンパイルするには、
ALTER PROCEDURE文 / ALTER PACKAGE文を使います。
サンプルコード
例)PROCEDUREをコンパイルする
1 |
ALTER PROCEDURE <プロシージャ名> COMPILE; |
例)PACKAGEをコンパイルする
1 2 3 4 5 6 7 8 |
--①PACKAGEとPACKAGE BODYを同時にコンパイルする場合 ALTER PACKAGE <パッケージ名> COMPILE; --②PACKAGEのみコンパイルする場合 ALTER PACKAGE <パッケージ名> COMPILE PACKAGE; --③PACKAGE BODYのみコンパイルする場合 ALTER PACKAGE <パッケージ名> COMPILE BODY; |
メモ
- コンパイルエラー内容を表示するコマンド「show error」は、①でコンパイルした場合は使えません。
- エラー内容を確認するには、以下SQLで確認できます。
SELECT * FROM ALL_ERRORS WHERE NAME = '<パッケージ名>';
SELECT * FROM ALL_ERRORS WHERE NAME = '<プロシージャ名>'; - 無効な状態のオブジェクトを確認したい場合は、以下関連記事をご覧ください。