ALTER FUNCTION
この文は、TimesTen Scaleoutではサポートされていません。
TimesTen Classicの場合:
ALTER FUNCTION文は、スタンドアロンのストアド・ファンクションを再コンパイルします。明示的に再コンパイルすることによって、実行時に暗黙的に再コンパイルする必要がなくなり、関連する実行時コンパイル・エラーおよびパフォーマンス・オーバーヘッドが発生しなくなります。
パッケージに含まれるファンクションを再コンパイルするには、ALTER PACKAGE文を使用してパッケージを再コンパイルします。
必要な権限
PL/SQLファンクションの所有者に必要な権限はありません。
別のユーザーのファンクションの場合はALTER ANY PROCEDUREが必要です。
TimesTen Scaleoutでの使用
この文は、TimesTen Scaleoutではサポートされていません。
SQL構文
ALTER FUNCTION [Owner.]FunctionNameCOMPILE [CompilerParametersClause[...]] [REUSE SETTINGS]
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
再コンパイルするファンクションの名前。 |
|
|
ファンクションの再コンパイルを発生させる必須キーワード。ファンクションを正常にコンパイルできなかった場合は、 |
|
|
このオプション句を使用して、いずれかのPL/SQL永続コンパイラ・パラメータの値を指定します。PL/SQL永続コンパイラ・パラメータには、 文の中で各パラメータを1回指定できます。 この句のパラメータを省略して |
|
|
このオプション句を使用して、TimesTenがコンパイラのスイッチ設定を削除および再取得しないようにします。 |
説明
-
ALTER FUNCTION文は、既存ファンクションの宣言または定義を変更しません。ファンクションを再宣言または再定義するには、CREATE FUNCTION文を使用します。 -
ファンクションが依存しているオブジェクトが無効な場合、TimesTenは最初にこれらのオブジェクトを再コンパイルします。
-
また、TimesTenは、再コンパイルされたファンクションをコールするファンクションや、再コンパイルされたファンクションをコールするファンクションが定義されているパッケージの本体など、ファンクションに依存しているオブジェクトをすべて無効にします。
-
TimesTenによってファンクションが正常に再コンパイルされると、そのファンクションは有効になります。ファンクションの再コンパイルでコンパイル・エラーになった場合、TimesTenによってエラーが返され、ファンクションは無効のままになります。
ttIsqlコマンドのSHOW ERRORSを使用して、コンパイル・エラーを表示します。 -
再コンパイル中に、TimesTenはすべての永続コンパイラ設定を削除し、セッションからこれらの設定を再取得して、コンパイルの最後に格納します。この処理を回避するには、
REUSE SETTINGS句を指定します。
関連項目