ヘッダーをスキップ
Oracle TimesTen In-Memory Database SQLリファレンス・ガイド
リリース11.2.1
B56051-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

ALTER PROCEDURE

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

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

必要な権限

プロシージャの所有者に必要な権限はありません。

別のユーザーのプロシージャの場合はALTER ANY PROCEDUREが必要です。

SQL構文

ALTER PROCEDURE [Owner.]ProcedureName COMPILE
      [compiler_parameters_clause […]]
      [REUSE SETTINGS]

パラメータ

ALTER PROCEDURE文には、次のパラメータがあります。

パラメータ 説明
[Owner.]ProcedureName 再コンパイルするプロシージャの名前。
COMPILE プロシージャの再コンパイルを発生させる必須キーワード。 プロシージャを正常にコンパイルできなかった場合は、ttIsqlコマンドのSHOW ERRORSを使用してコンパイラのエラー・メッセージを表示します。
compiler_parameters_clause このオプション句を使用して、いずれかのPL/SQL永続コンパイラ・パラメータの値を指定します。PL/SQL永続コンパイラ・パラメータには、PLSQL_OPTIMIZE_LEVEL、PLSCOPE_SETTINGSおよびNLS_LENGTH_SEMANTICSがあります。

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

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

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

説明

システム・ビューUSER_PLSQL_OBJECT_SETTINGSに問合せを発行して、プロシージャquery_empのPLSQL_OPTIMIZE_LEVELおよびPLSCOPE_SETTINGSを確認します。 PLSQL_OPTIMIZE_LEVELを3に変更することで、query_empを変更します。結果を確認します。

Command> SELECT PLSQL_OPTIMIZE_LEVEL, PLSCOPE_SETTINGS
       >  FROM user_plsql_object_settings WHERE  name = 'QUERY_EMP';
< 2, IDENTIFIERS:NONE >
1 row found.

Command> ALTER PROCEDURE query_emp COMPILE PLSQL_OPTIMIZE_LEVEL = 3;

Procedure altered.

Command> SELECT PLSQL_OPTIMIZE_LEVEL, PLSCOPE_SETTINGS
       >  FROM user_plsql_object_settings WHERE  name = 'QUERY_EMP';
< 3, IDENTIFIERS:NONE >
1 row found.

関連項目


「CREATE PROCEDURE」