ALTER FUNCTION

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

TimesTen Classicの場合:

ALTER FUNCTION文は、スタンドアロンのストアド・ファンクションを再コンパイルします。明示的に再コンパイルすることによって、実行時に暗黙的に再コンパイルする必要がなくなり、関連する実行時コンパイル・エラーおよびパフォーマンス・オーバーヘッドが発生しなくなります。

パッケージに含まれるファンクションを再コンパイルするには、ALTER PACKAGE文を使用してパッケージを再コンパイルします。

必要な権限

PL/SQLファンクションの所有者に必要な権限はありません。

別のユーザーのファンクションの場合はALTER ANY PROCEDUREが必要です。

TimesTen Scaleoutでの使用

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

SQL構文

ALTER FUNCTION [Owner.]FunctionName COMPILE
      [CompilerParametersClause [...]] 
      [REUSE SETTINGS]

パラメータ

パラメータ 説明

[Owner.]FunctionName

再コンパイルするファンクションの名前。

COMPILE

ファンクションの再コンパイルを発生させる必須キーワード。ファンクションを正常にコンパイルできなかった場合は、ttIsqlコマンドのSHOW ERRORSを使用してコンパイラのエラー・メッセージを表示します。

CompilerParametersClause

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

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

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

REUSE SETTINGS

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

説明

  • ALTER FUNCTION文は、既存ファンクションの宣言または定義を変更しません。ファンクションを再宣言または再定義するには、CREATE FUNCTION文を使用します。

  • ファンクションが依存しているオブジェクトが無効な場合、TimesTenは最初にこれらのオブジェクトを再コンパイルします。

  • また、TimesTenは、再コンパイルされたファンクションをコールするファンクションや、再コンパイルされたファンクションをコールするファンクションが定義されているパッケージの本体など、ファンクションに依存しているオブジェクトをすべて無効にします。

  • TimesTenによってファンクションが正常に再コンパイルされると、そのファンクションは有効になります。ファンクションの再コンパイルでコンパイル・エラーになった場合、TimesTenによってエラーが返され、ファンクションは無効のままになります。ttIsqlコマンドのSHOW ERRORSを使用して、コンパイル・エラーを表示します。

  • 再コンパイル中に、TimesTenはすべての永続コンパイラ設定を削除し、セッションからこれらの設定を再取得して、コンパイルの最後に格納します。この処理を回避するには、REUSE SETTINGS句を指定します。

関連項目