7.29 CREATE FUNCTION/DROP FUNCTION

CREATE FUNCTION function_name RETURNS {STRING|REAL|INTEGER}
       SONAME shared_library_name
DROP FUNCTION function_name

Une fonction définie par l'utilisateur est un bon moyen d'ajouter de nouvelles fonctionnalités à MySQL avec de nouvelles fonctions natives, comme par exemple ABS() et CONCAT().

CREATE FUNCTION sauve le nom de la fonction, le type et le point d'entrée de la fonction dans la table système mysql.func . Il faut avoir les droit insert et delete pour pouvoir créer et effacer des fonctions.

Toutes les fonctions actives sont rechargées à chaque démarrage du serveur, à moins de lancer mysqld avec l'option --skip-grant-tables . Dans ce cas, l'initialisation des fonctions utilisateurs est oubliée, et les fonctions sont inutilisables. (Une fonction active est une fonction créée par CREATE FUNCTION et pas effacée avec DROP FUNCTION.)