MySQL 8.0 リファレンスマニュアル


13.7.4.2 ユーザー定義関数に対する DROP FUNCTION ステートメント

DROP FUNCTION [IF EXISTS] function_name

このステートメントは、function_name という名前のユーザー定義関数 (UDF) を削除します。 (DROP FUNCTION は、ストアドファンクションの削除にも使用されます。セクション13.1.29「DROP PROCEDURE および DROP FUNCTION ステートメント」 を参照してください。)

DROP FUNCTION は、CREATE FUNCTION を補完したものです。 関数を登録する mysql.func システムテーブルから行が削除されるため、mysql システムスキーマに対する DELETE 権限が必要です。

DROP FUNCTION は、インストールされている UDF に関する実行時情報を提供するパフォーマンススキーマ user_defined_functions テーブルからも関数を削除します。 セクション27.12.19.12「user_defined_functions テーブル」を参照してください。

通常の起動シーケンスでは、サーバーは mysql.func テーブルに登録されている UDF をロードします。 DROP FUNCTION は削除された関数の mysql.func 行を削除するため、サーバーはその後の再起動時に関数をロードしません。

DROP FUNCTION を使用して、CREATE FUNCTION を使用するのではなく、コンポーネントまたはプラグインによって自動的にインストールされる UDF を削除することはできません。 このような UDF は、UDF をインストールしたコンポーネントまたはプラグインがアンインストールされると、自動的に削除されます。

注記

UDF に関連付けられた共有ライブラリをアップグレードするには、DROP FUNCTION ステートメントを発行し、共有ライブラリをアップグレードしたあと、CREATE FUNCTION ステートメントを発行します。 最初に共有ライブラリをアップグレードしてから DROP FUNCTION を使用すると、サーバーが予期せず停止する可能性があります。


関連キーワード:  ステートメント, CREATE, DROP, FUNCTION, TABLE, 関数, サブクエリー, SLAVE, 定義, テーブル