ALTER PACKAGE

この文は、TimesTen Scaleoutではサポートされていません。

TimesTen Classicの場合:

ALTER PACKAGE文は、パッケージ仕様部、パッケージ本体またはその両方を明示的に再コンパイルします。明示的に再コンパイルすることによって、実行時に暗黙的に再コンパイルする必要がなくなり、関連する実行時コンパイル・エラーが発生しなくなります。

この文では、同時にすべてのパッケージ・オブジェクトを再コンパイルします。ALTER PROCEDURE文またはALTER FUNCTION文を使用して、パッケージに含まれるプロシージャまたはファンクションを個別に再コンパイルすることはできません。

必要な権限

パッケージの所有者に必要な権限はありません。

別のユーザーのパッケージの場合はALTER ANY PROCEDUREが必要です。

TimesTen Scaleoutでの使用

この文は、TimesTen Scaleoutではサポートされていません。

SQL構文

ALTER PACKAGE [Owner.]PackageName COMPILE
      [PACKAGE|SPECIFICATION|BODY]
      [CompilerParametersClause [...]] 
      [REUSE SETTINGS]

パラメータ

パラメータ 説明

[Owner.]PackageName

再コンパイルするパッケージの名前。

COMPILE

パッケージ仕様部、パッケージ本体またはその両方の再コンパイルを強制するために使用される必須の句。

[PACKAGE|SPECIFICATION|BODY]

パッケージ仕様部と本体の両方を再コンパイルするには、PACKAGEを指定します。パッケージ仕様部を再コンパイルするには、SPECIFICATIONを指定します。パッケージ本体を再コンパイルするには、BODYを指定します。

PACKAGEがデフォルトです。

CompilerParametersClause

このオプション句を使用して、いずれかのPL/SQL永続コンパイラ・パラメータの値を指定します。PL/SQL永続コンパイラ・パラメータには、PLSQL_OPTIMIZE_LEVELおよびNLS_LENGTH_SEMANTICSがあります。

文の中で各パラメータを1回指定できます。

この句のパラメータを省略してREUSE SETTINGSを指定した場合、前回のコンパイルでパラメータに値を指定していると、この(前回の)値がTimesTenによって使用されます。パラメータを省略し、かつ、REUSE SETTINGSを指定しないか、または前回のコンパイルでパラメータに値を指定しなかった場合、TimesTenによってセッション環境からパラメータの値が取得されます。

REUSE SETTINGS

このオプション句を使用して、TimesTenがコンパイラのスイッチ設定を削除および再取得しないようにします。REUSE SETTINGSを指定すると、TimesTenによって既存の設定が保持され、値を指定していないパラメータのコンパイルに使用されます。

説明

  • パッケージ仕様部を再コンパイルすると、TimesTenは、パッケージ内のプロシージャまたはファンクションをコールするプロシージャなど、仕様部に依存しているローカル・オブジェクトを無効にします。パッケージの本体もまた仕様部に依存しています。この後、先にこれらの依存オブジェクトのいずれかを明示的に再コンパイルしないで参照すると、このオブジェクトはTimesTenによって実行時に暗黙的に再コンパイルされます。

  • パッケージ本体を再コンパイルした場合、パッケージ仕様部に依存しているオブジェクトは無効になりません。本体が依存しているオブジェクトが無効な場合、TimesTenは最初にこれらのオブジェクトを再コンパイルします。TimesTenによって本体が正常に再コンパイルされると、その本体は有効になります。

  • パッケージを再コンパイルすると、仕様部と本体の両方が明示的に再コンパイルされます。コンパイル・エラーが発生しなかった場合、仕様部および本体は有効になります。コンパイル・エラーが発生した場合、TimesTenによってエラーが返され、パッケージは無効のままになります。

関連項目