ALTER PACKAGE

目的

パッケージはPL/SQLを使用して定義されます。このため、この項では一般的な情報について説明します。構文およびセマンティクスの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。

ALTER PACKAGE文を使用すると、パッケージ仕様部またはパッケージ本体(あるいはその両方)を明示的に再コンパイルできます。明示的に再コンパイルすることによって、実行時に暗黙的に再コンパイルする必要がなくなり、また、実行時のコンパイル・エラーとパフォーマンス上のオーバーヘッドもなくなります。

パッケージ中のすべてのオブジェクトは、1つの単位として格納されているため、ALTER PACKAGE文によって、すべてのパッケージ・オブジェクトがまとめて再コンパイルされます。ALTER PROCEDURE文またはALTER FUNCTION文を使用して、パッケージ中の一部のプロシージャまたはファンクションを再コンパイルすることはできません。

ノート:

この文では、既存のパッケージの宣言または定義は変更されません。パッケージを再宣言または再定義する場合は、「CREATE PACKAGE」または「CREATE PACKAGE BODY」OR REPLACE句を指定します。

前提条件

パッケージを変更するには、パッケージが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER ANY PROCEDUREシステム権限が必要です。

構文

alter_package::=

(package_compile_clause: この句の構文の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。)

セマンティクス

schema

パッケージが含まれているスキーマを指定します。schemaを指定しない場合、パッケージは自分のスキーマ内にあるとみなされます。

package_name

再コンパイルするパッケージの名前を指定します。

package_compile_clause

この句の構文とセマンティクスの詳細およびパッケージの作成とコンパイルの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。

EDITIONABLE | NONEDITIONABLE

この句を使用すると、schemaのスキーマ・オブジェクト・タイプPACKAGEのエディショニングが後で有効化されたときに、そのパッケージをエディション・オブジェクトにするか非エディション・オブジェクトにするかを指定できます。デフォルトは、EDITIONABLEです。エディション・オブジェクトと非エディション・オブジェクトの変更の詳細は、『Oracle Database開発ガイド』を参照してください。