DROP FUNCTION
目的
ファンクションはPL/SQLを使用して定義されます。ファンクションの作成、変更および削除の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
DROP
FUNCTION
文を使用すると、データベースからスタンドアロン・ストアド・ファンクションを削除できます。
ノート:
この文を使用してパッケージの一部のファンクションを削除しないでください。かわりに、DROP
PACKAGE
文を使用してパッケージ全体を削除するか、またはOR
REPLACE
句を指定したCREATE
PACKAGE
文を使用して、そのファンクションを含めずにパッケージを再定義してください。
前提条件
削除するファンクションが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、DROP
ANY
PROCEDURE
システム権限が必要です。
構文
drop_function::=
セマンティクス
IF EXISTS
IF EXISTS
は、既存の索引を削除する場合に指定します。
DROP
にIF NOT EXISTS
を指定すると、ORA-11544: Incorrect IF EXISTS clause for ALTER/DROP statement
が発生します。
schema
ファンクションが含まれているスキーマを指定します。schema
を指定しない場合、ファンクションは自分のスキーマ内にあるとみなされます。
function_name
削除するファンクションの名前を指定します。
Oracle Databaseは、削除したファンクションに依存するローカル・オブジェクト、または削除したファンクションをコールするローカル・オブジェクトを無効にします。後でこれらのオブジェクトのいずれかを参照した場合、データベースは、そのオブジェクトを再コンパイルしようとします。削除したファンクションを再作成しないかぎり、エラーが戻されます。
任意の統計タイプがファンクションに関連付けられている場合、FORCE
句によって統計タイプの関連付けが解除され、統計タイプを使用して収集したユーザー定義のすべての統計情報が削除されます。
関連項目:
-
リモート・オブジェクトを含むスキーマ・オブジェクト間の依存性をOracle Databaseが管理する方法の詳細は、『Oracle Database概要』を参照してください。
-
統計タイプの関連付けの詳細は、「ASSOCIATE STATISTICS」および「DISASSOCIATE STATISTICS」を参照してください。
例
ファンクションの削除: 例
次の文は、サンプル・スキーマoe
内のファンクションSecondMax
を削除し、SecondMax
に依存するすべてのオブジェクトを無効にします。
DROP FUNCTION oe.SecondMax;
関連項目:
SecondMax
ファンクションを作成する例については、『Oracle Database PL/SQL言語リファレンス』を参照してください。