ALTER FUNCTION
目的
ファンクションはPL/SQLを使用して定義されます。このため、この項では一般的な情報について説明します。構文およびセマンティクスの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
ALTER
FUNCTION
文を使用すると、無効なスタンドアロンのストアド・ファンクションを再コンパイルできます。明示的に再コンパイルすることによって、実行時に暗黙的に再コンパイルする必要がなくなり、また、実行時のコンパイル・エラーとパフォーマンス上のオーバーヘッドもなくなります。
この文では、既存のファンクションの宣言または定義は変更されません。ファンクションを再宣言または再定義する場合は、OR
REPLACE
句を指定してCREATE
FUNCTION
文を使用します。「CREATE FUNCTION」を参照してください。
前提条件
ファンクションが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER
ANY
PROCEDURE
システム権限が必要です。
構文
alter_function::=
(function_compile_clause
: この句の構文の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。)
セマンティクス
IF EXISTS
IF EXISTS
は、既存の表を変更する場合に指定します。
ALTER VIEW
にIF NOT EXISTS
を指定すると、ORA-11544: Incorrect IF EXISTS clause for ALTER/DROP statement
が発生します。
schema
ファンクションが含まれているスキーマを指定します。schema
を指定しない場合、ファンクションは自分のスキーマ内にあるとみなされます。
function_name
再コンパイルするファンクション名を指定します。
function_compile_clause
この句の構文とセマンティクスの詳細およびファンクションの作成とコンパイルの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
EDITIONABLE | NONEDITIONABLE
この句を使用すると、schema
のスキーマ・オブジェクト・タイプFUNCTION
のエディショニングが後で有効化されたときに、そのファンクションをエディション・オブジェクトにするか非エディション・オブジェクトにするかを指定できます。デフォルトは、EDITIONABLE
です。エディション・オブジェクトと非エディション・オブジェクトの変更の詳細は、『Oracle Database開発ガイド』を参照してください。