ALTER PROCEDUREは、ストアド・プロシージャを明示的に再コンパイルするSQL文である。プロシージャを明示的に再コンパイルすることによって、実行時に暗黙的に再コンパイルする必要が無くなり、実行時のコンパイルエラーやパフォーマンス上のオーバーヘッドが無くなる。
パッケージの一部であるプロシージャを再コンパイルする場合は、
ALTER PACKAGE
文を使用して、そのパッケージ全体を再コンパイルする必要がある。
ALTER PROCEDURE [schema.]procedure COMPILE [ DEBUG ] compiler_parameters_clause [ , ... ]
[ REUSE SETTINGS ]
SQL> ALTER PROCEDURE tsuka.example COMPILE;
SQL> ALTER PROCEDURE example COMPILE;
parameter_name = paramter_value
ALTER PROCEDURE文を使用して、既存のプロシージャの宣言や定義を変更することはできない。プロシージャを再宣言または再定義する場合は、CREATE OR REPLACE PROCEDURE文を使用する。