5.6.1 Установка и удаление загружаемых функций
Загружаемые функции, как следует из названия, должны быть загружены на сервер перед их использованием. MySQL поддерживает автоматическую загрузку функций во время запуска сервера и ручную загрузку впоследствии.
Во время загрузки загружаемой функции информация о ней доступна, как описано в разделе 5.6.2, «Получение информации о загружаемых функциях».
Установка загружаемых функций
Для ручной загрузки загружаемой функции используйте оператор CREATE
FUNCTION. Например:
CREATE FUNCTION metaphon
RETURNS STRING
SONAME 'udf_example.so';
Имя файла зависит от вашей платформы. Распространённые расширения — .so для Unix и Unix-подобных систем, .dll для Windows.
CREATE
FUNCTION имеет следующие эффекты:
Функция загружается на сервер, делая её немедленно доступной.
Функция регистрируется в таблице системы
mysql.func, чтобы сохраниться после перезагрузки сервера. По этой причинеCREATE FUNCTIONтребует привилегииINSERTдля системной базы данныхmysql.
Автоматическая загрузка загружаемых функций происходит во время нормальной последовательности запуска сервера. Сервер загружает функции, зарегистрированные в таблице mysql.func. Если сервер запущен с опцией --skip-grant-tables, зарегистрированные функции не загружаются и недоступны.
Удаление загружаемых функций
Для удаления загружаемой функции используйте оператор DROP
FUNCTION. Например:
DROP FUNCTION metaphon;
DROP
FUNCTION имеет следующие эффекты:
Функция разгружается, чтобы сделать её недоступной.
Функция удаляется из таблицы системы
mysql.func. По этой причинеDROP FUNCTIONтребует привилегииDELETEдля системной базы данныхmysql. Так как функция больше не зарегистрирована в таблицеmysql.func, сервер не загружает функцию при последующих перезапусках.
Во время загрузки загружаемой функции информация о ней доступна из таблицы системы mysql.func. См. раздел 5.6.2, «Получение информации о загружаемых функциях». CREATE
FUNCTION добавляет функцию в таблицу, а DROP
FUNCTION удаляет её.
Переустановка или обновление загружаемых функций
Для переустановки или обновления разделяемой библиотеки, связанной с загружаемой функцией, выполните оператор DROP
FUNCTION, обновите разделяемую библиотеку, а затем выполните оператор CREATE
FUNCTION. Если вы обновите разделяемую библиотеку сначала, а затем используете DROP
FUNCTION, сервер может неожиданно завершиться.
© 2025 Oracle
Licensed under the GPLv2 License.