[+/-]
Hay dos formas de añadir nuevas funciones a MySQL:
Puede añadir funciones con la interfaz de funciones definidas
de usuario (UDF) (N.del T. Acrónimo para User Defined
Functions). Las funciones definidas por el usuario se ocmpilan
como ficheros objeto y se añaden y borran del servidor
dinámicamente usando los comandos CREATE
FUNCTION
y DROP FUNCTION
.
Consulte Sección 27.2.2, “Sintaxis de CREATE FUNCTION/DROP FUNCTION
”.
Puede añadir funciones como funciones nativas MySQL. Se compilan en el servidor mysqld y están disponibles permanentemente.
Cada método tiene ventajas y desventajas:
Si escribe funciones definidas por el usuario, debe instalar ficheros objeto además del servidor mismo. Si compilar su función en el servidor, no necesita hacerlo.
Puede añadir UDFs a distribuciones binarias MySQL . Las funciones nativas requieren modificar una distribución fuente.
Si actualiza su distribución MySQL , puede continuar usando
las UDFs previamente instaladas, a no ser que actualice a una
versión en la que la interfaz UDF cambie. (Un cambio
incompatible ocurrió en MySQL 4.1.1 para funciones agregadas.
Una función llamada xxx_clear()
debe
definirse en lugar de xxx_reset()
.) Para
funciones nativas, debe repetir sus modificaciones cada vez
que actualice.
Use el método que use para añadir nuevas fucnciones, pueden
invocarse en comandos SQL como funciones nativas tales como
ABS()
o SOUNDEX()
.
Otra forma de añadir funciones es creando funciones almacenadas.
Se escriben con comandos SQL en lugar de compilando código
objeto. La sintaxis para escribr funciones almacenadas se describe
en Stored Procedures
.
La siguiente sección describe características de la interfaz UDF, proporciona intrucciones para escribir UDFs, y discute sobre precauciones de seguridad que toma MySQSL para prevenir un mal uso de UDF.
Para código fuente de ejemplo que ilustra cómo escribir UDFs,
mire el fichero sql/udf_example.cc
que se
proporciona en las distribuciones fuentes de MySQL.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.