9.2.1 Синтаксис CREATE FUNCTION/DROP FUNCTION
9.2.1 Синтаксис CREATE FUNCTION/DROP FUNCTION
CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|REAL|INTEGER}
SONAME shared_library_name
DROP FUNCTION function_name
Определяемая пользователем функция (UDF) - это средство, позволяющее
расширить MySQL за счет новой функции, которая работает подобно ``родным''
(встроенным) функциям MySQL, таким как ABS() и CONCAT().
AGGREGATE - новая опция для версии MySQL 3.23. AGGREGATE - функция работает
точно так же, как и ``родные'' GROUP-функции MySQL GROUP вроде SUM или
COUNT().
CREATE FUNCTION сохраняет имя, тип и имя разделяемой библиотеки функции в
системной таблице mysql.func. Чтобы создавать и удалять функции,
необходимо обладать привилегиями INSERT и DELETE для базы данных mysql.
Все активные функции подгружаются при каждом запуске сервера, за
исключением случая, когда mysqld запускается с опцией --skip-grant-tables.
Тогда инициализация UDF пропускается и UDFы недоступны (активная функция -
это функция, которая была загружена посредством CREATE FUNCTION и не
удалена с помощью DROP FUNCTION).
Инструкции по написанию определяемых пользователем функций находятся в
разделе See section 9.2 Добавление новых функций в MySQL. Чтобы механизм UDF работал, функции
должны быть написаны на C или C++, используемая операционная система
должна поддерживать динамическую загрузку и mysqld должен быть
скомпилирован динамически (а не статически).
Отметим, что для того, чтобы работала AGGREGATE, таблица mysql.func должна
содержать столбец type. В противном случае следует запустить сценарий
mysql_fix_privilege_tables, чтобы внести нужные исправления.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий
|