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
.)