CREATE [AGGREGATE] FUNCTION nom_fonction RETURNS {STRING|REAL|INTEGER}
SONAME nom_librairie_partagée
DROP FUNCTION nom_fonction
Une fonction définie par un utilisateur
(UDF) est une méthode pour intégrer une
fonction qui fonctionne de la même fa¸on qu'une fonction
native de MySQL, comme ABS() et
CONCAT().
AGGREGATE est une nouvelle option pour MySQL
version 3.23. Une fonction AGGREGATE
fonctionne exactement comme une fonction native comme
SUM ou COUNT().
CREATE FUNCTION enregistre le nom de la
fonction, le type, et le nom des bibliothèques partagées dans
la table mysql.func. Vous devez avoir les
droits INSERT et DELETE
dans la base mysql pour créer et supprimer
les fonctions.
Toutes les fonctions actives sont rechargées chaque fois que le
serveur démarre, sauf si vous démarrez
mysqld avec l'option
--skip-grant-tables. Dans ce cas, l'utilisation
des UDF n'est pas prise en compte et les UDFs
ne sont pas disponibles. (Une fonction active est une fonction
qui peut être chargée avec CREATE FUNCTION
et supprimée par REMOVE FUNCTION).
Concernant l'écriture des UDFs,
Section 27.2, « Ajouter des fonctions à MySQL ». Pour que le mécanisme des
fonctions UDF fonctionne, les fonctions
doivent être écrites en C ou C++, votre système doit
supporter le chargement dynamique et vous devez avoir compilé
mysqld dynamiquement (pas statiquement).
Notez que pour faire fonctionner AGGREGATE,
vous devez avoir une table mysql.func qui
contient la colonne type. Si ce n'est pas le
cas, vous devez exécuter le script
mysql_fix_privilege_table pour résoudre ce
problème.
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.
