CREATE FUNCTION UDF
Syntax
CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL} SONAME shared_library_name
Description
A user-defined function (UDF) is a way to extend MariaDB with a new
function that works like a native (built-in) MariaDB function such as
ABS()
or CONCAT()
.
function_name
is the name that should be used in SQL
statements to invoke the function. The RETURNS
clause
indicates the type of the function's return value. DECIMAL
is a legal value after RETURNS
, but currently
DECIMAL
functions return string values and should be written
like STRING
functions.
shared_library_name
is the basename of the shared object
file that contains the code that implements the function. The file must be
located in the plugin directory. This directory is given by the value
of the plugin_dir system variable.
Note: This is a change in MariaDB/MySQL 5.1. For earlier versions of MySQL, the shared object can be located in any directory that is searched by your system's dynamic linker.
To create a function, you must have the
INSERT privilege
for the mysql database. This is
necessary because CREATE FUNCTION
adds a row to the
mysql.func system table that records the function's name, type, and shared
library name. If you do not have this table, you should run the mysql_upgrade
command to create it.
For creating a stored function, see CREATE FUNCTION
.