ALTER PACKAGE

ALTER PACKAGEとは、パッケージを明示的に再コンパイルするSQL文である。

ALTER PACKAGEでパッケージ仕様部やパッケージ本体を変更することはできない。 パッケージ仕様部を変更するには、CREATE OR REPLACE PACKAGEを使用する。 パッケージ本体を変更するには、CREATE OR REPLACE PACKAGE BODYを使用する。

構文

Oracle Database における ALTER PACKAGE 文の構文を以下に示す。

ALTER PACKAGE [schema.]package COMPILE [ DEBUG ] [ PACKAGE | SPECIFICATION | BODY ]
schema
再コンパイルするパッケージが存在するスキーマの名前を指定する。自分のスキーマにあるパッケージを再コンパイルする場合は、スキーマ名の指定を省略できる。
SQL> ALTER PACKAGE tsuka.example COMPILE;
package
再コンパイルするパッケージの名前を指定する。
DEBUG
PL/SQLデバッガで使用するためのコードを生成して格納する。
SQL> ALTER PACKAGE example COMPILE DEBUG;
PACKAGE
パッケージ仕様部とパッケージ本体の両方を再コンパイルする。
SQL> ALTER PACKAGE example COMPILE PACKAGE;

これはデフォルトの動作であり、SPECIFICATION 及び BODY を指定しなければ、PACKAGE を指定しなくてもよい。

SQL> ALTER PACKAGE example COMPILE;
SPECIFICATION
パッケージ仕様部のみ再コンパイルする。
SQL> ALTER PACKAGE example COMPILE SPECIFICATION;
BODY
パッケージ本体のみを再コンパイルする。
SQL> ALTER PACKAGE example COMPILE BODY;

関連SQL