ビューやストアドプロシージャなどを再コンパイルする
文書番号:20256
ビューやストアドプロシージャ、パッケージなどのオブジェクトを再コンパイルするSQL。
Oracle に格納されているソースを使用して再コンパイルする構文です。
パッケージをコンパイルする際にヘッダとボディを個別にコンパイルする場合は以下のようにします。
全部のビューを再コンパイルしたいとか、全部のプロシージャーを再コンパイルしたいといった場合は
ビューやプロシージャーの一覧を取得してそのすべてに再コンパイルを実行します。
オブジェクトの一覧を取得するSQLはこちら
オブジェクトの一覧を取得する(USER_OBJECTS / DBA_OBJECTS)
プロシージャの一覧から再コンパイルするSQLを作成するサンプル
Oracle に格納されているソースを使用して再コンパイルする構文です。
ALTER VIEW ビュー名 COMPILE;
ALTER FUNCTION ファンクション名 COMPILE;
ALTER PACKAGE パッケージ名 COMPILE;
ALTER PROCEDURE プロシージャ名 COMPILE;
ALTER TRIGGER トリガー名 COMPILE;
ALTER JAVA JAVA名 COMPILE;
ALTER TYPE タイプ名 COMPILE;
ALTER INDEXTYPE インデックスタイプ名 COMPILE;
ALTER MATERIALIZED VIEW マテリアライズドビュー名 COMPILE;
ALTER PACKAGE <パッケージ名> COMPILE PACKAGE;
ALTER PACKAGE <パッケージ名> COMPILE BODY;
オブジェクトの一覧を取得するSQLはこちら
オブジェクトの一覧を取得する(USER_OBJECTS / DBA_OBJECTS)
プロシージャの一覧から再コンパイルするSQLを作成するサンプル
SELECT 'ALTER PROCEDURE ' || OBJECT_NAME || ' COMPILE;'
FROM USER_OBJECTS
WHERE OBJECT_TYPE = 'PROCEDURE';