Существует два способа добавления функций в MySQL:
Можно добавить функцию посредством интерфейса определяемых пользователем функций (user-definable function -
UDF
). Определяемые пользователем функции добавляются и удаляются динамически с помощью командCREATE FUNCTION
иDROP FUNCTION
(see Раздел 9.2.1, «СинтаксисCREATE FUNCTION/DROP FUNCTION
»).Можно добавить функцию как ``родную'' (встроенную) функцию MySQL. ``Родные'' функции компилируются вместе с остальным кодом сервера
mysqld
и становятся постоянно доступными.
Каждый метод имеет преимущества и недостатки:
Если вы пишете определяемую пользователем функцию, то помимо сервера необходимо инсталлировать объектный файл. В этом нет необходимости при компиляции функции вместе с сервером.
UDFы можно добавить в бинарную поставку MySQL. Для ``родных'' функций необходимо изменять поставку исходного кода.
При обновлении поставки MySQL можно продолжать использовать ранее инсталлированные UDFы. Для ``родных функций нужно при каждом обновлении вносить изменения повторно.
Независимо от выбранного метода добавления новых функций, их можно
использовать точно так же, как и встроенные функции, подобные ABS()
или
SOUNDEX()
.