MySQL に新しい関数を追加する方法は 2 つあります。
ユーザ定義関数(UDF)インタフェースを使用して関数を追加できる。ユーザ定義関数は、CREATE
FUNCTION
ステートメントおよび
DROP FUNCTION
ステートメントを使用して、動的に追加および削除できる。
See 項13.2.1. 「CREATE FUNCTION/DROP FUNCTION
の構文」。
ネイティブ(組み込み)MySQL
関数として関数を追加できる。ネイティブ関数は、コンパイルして
mysqld
サーバに組み込むことによって、永続的に使用できるようになる。
それぞれの方法に長所および短所があります。
ユーザ定義関数を作成する場合、サーバのほかにオブジェクトファイルをインストールする必要がある。関数をコンパイルしてサーバに組み込んだ場合はその必要はない。
UDF は、MySQL バイナリディストリビューションに追加できる。ネイティブ関数の場合、ソースディストリビューションを修正する必要がある。
MySQL ディストリビューションをアップグレードする場合、既存の UDF はそのまま使用できる。ネイティブ関数の場合、アップグレードするたびに修正作業を繰り返す必要がある。
どちらの方法を使用して新しい関数を追加する場合も、ABS()
や SOUNDEX()
などのネイティブ関数と同じように使用できます。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.