Crear Funciones Mysql 1
Crear Funciones Mysql 1
Crear Funciones Mysql 1
com/como-crear-funciones-en-mysql
DELIMITER //
Select holaMundo();
Lo que devuelve el siguiente resultado :
+--------------+
| holaMundo() |
+--------------+
| Hola Mundo!! |
+--------------+
1 row in set (0.00 sec)
Para borrar la función que acabamos de crear :
DELIMITER //
CREATE FUNCTION holaMundo() RETURNS VARCHAR(30)
BEGIN
DECLARE salida VARCHAR(30) DEFAULT 'Hola mundo';
;
SET salida = ‘Hola mundo con variables’;
RETURN salida;
END
//
Esta variable es de ámbito local, y será destruida una vez finalice la función. Cabe
destacar el uso de la sentencia DEFAULT en conjunto con DECLARE, que asigna un valor
por defecto al declarar la variable.
Si tecleamos :
Para finalizar, algo un poco más complejo, vamos a crear una función que acepte un
dividendo y un divisor y haga una división sin usar el operador división:
SELECT divide(20,2)
Lo que devolvería 10.
S FUNDAMENTOS
S UI
S CONEXIÓN DE RED
S DATOS
S WEB SERVICES
Crear Funciones En
MySQL
Una función en MySQL es una rutina creada para tomar
unos parámetros, procesarlos y retornar en un salida.
Se diferencian de los procedimientos en las siguientes
características:
▪ Solamente pueden tener parámetros de entrada IN y no
parámetros de salida OUT o INOUT
▪ Deben retornar en un valor con algún tipo de dato definido
▪ Pueden usarse en el contexto de una sentencia SQL
▪ Solo retornan un valor individual, no un conjunto de
registros.
-- Guardamos el valor de x
SET factorial = x ;
bucle: LOOP
-- Factorial parcial
SET factorial = factorial * x ;
-- Retornamos en el factorial
RETURN factorial;
END//
DELIMITER ;
No confundas RETURNS con RETURN. La primera es para
indicar el tipo de dato de retorno de la función y la segunda
es para retornar el valor en el cuerpo de la función.
Puedes mostrar como usar una función en un
SELECT?
A continuación crearemos un función que retorne en el
nombre completo de la prioridad de un cliente,
introduciendo como parámetro el campo prioridad.
Creación de la función:
DELIMITER //
CREATE FUNCTION EXT_PRIORIDAD (cliente_prioridad
VARCHAR(5)) RETURNS VARCHAR(20)
BEGIN
CASE cliente_prioridad