lunes, 23 de noviembre de 2015

Funciones en MySQL

Una función es similar a un procedimiento almacenado pero retorna un valor. La estructura de la función en MySQL es así:

CREATE FUNCTION nombre_funcion() /* Entre los paréntesis irían los argumentos */
RETURNS TIPO_VARIABLE /* El tipo de variable que retorna, sea INT, VARCHAR, etc */
BEGIN /* Aquí comienza el juego */
DECLARE mi_variable TIPO_VARIABLE /*La variable con el mismo tipo de arriba*/
/*Ahora vamos a ejecutar las instrucciones que en este caso son un select. El comando INTO es para asignar elvalor de la consulta en la variable*/
SELECT columna_1 INTO mi_variable /* EL valor de la columna se almacena en la variable*/
FROM mi_tabla
WHERE columna_1 > 10; /*Por poner algún ejemplo*/
RETURN mi_variable; /* Devuelve el valor*/
END  /*Fin del juego*/
Vamos a hacer un ejemplo con la database ejemplo1 del tutorial anterior y la tabla ejemplo. Recordemos que habíamos guardado dos registros. Vamos a contar los nombres para saber cuántos registros hay.
Nuestra tabla es así:


Ahora creamos la función en la misma terminal. Recuerden crear un delimitador antes de empezar:



 Y por último probamos que funcione. Como yo tengo dos registros en mi tabla (Carlos y Natalia), me debe retornar 2:




No hay comentarios:

Publicar un comentario