Hermosa Programación Idea guardada 0 veces
Sé la primera persona en valorar esta idea Valorar

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.
Funciones en MySQL




Como creo una función?

Debes usar la sentencia CREATE FUNCTION. La sintaxis para crear una función es casi idéntica a la de crear un procedimiento, veamos:

CREATE FUNCTION nombre_función (parametro1,parametro2,...)

RETURNS tipoDato
[atributos de la rutina]

<bloque de instruccciones>

La única diferencia entre la creación de un procedimiento y una función es que la sintaxis de una función contiene la palabra reservada RETURNS para indicar que tipo de dato se retornará.Podemos ver un ejemplo?

Claro! Fíjate como obtenemos el factorial de un numero x ingresado como parámetro:DELIMITER //

CREATE FUNCTION factorial(x INT) RETURNS INT(11)

BEGIN

DECLARE factorial INT;

-- Guardamos el valor de x

SET factorial = x ;

-- Caso en que x sea menor o igual a 0

IF x <= 0 THEN

RETURN 1;

END IF;

-- Iteramos para obtener multiplicaciones consecutivas

bucle: LOOP

-- Cada iteracion reducimos en 1 a x

SET x = x - 1 ;

-- Condición de parada del bucle

IF x<1 THEN

LEAVE bucle;

END IF;

-- Factorial parcial

SET factorial = factorial * x ;

END LOOP bucle;

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

WHEN "A" THEN

RETURN "Alto";

WHEN "M" THEN

RETURN "Medio";

WHEN "B" THEN

RETURN "Bajo";

ELSE

RETURN "NN";

END CASE;

END//

DELIMITER ;

Con ella podremos consultar de la siguiente forma a los clientes de la base de datos:SELECT NOMBRE, APELLIDO, EXT_PRIORIDAD(PRIORIDAD)

FROM CLIENTE;De esta manera hemos usado nuestra función en un contexto de consulta. También podemos usar funciones en las sentencias DELETE y UPDATE, siempre y cuando el valor retornado sea acorde con las necesidades.

Como actualizar una función?

Para actualizar una función usamos el comando ALTER FUNCTION. Con esta sentencia podemos cambiar los atributos de la función, pero no podremos cambiar el cuerpo. Veamos la sintaxis:

ALTER FUNCTION nombre_función

[SQLSECURITY {DEFINER|INVOKER}]

[COMMENTdescripción ]

Si quisiéramos añadir una descripción a una función que calcula el promedio de huéspedes diario con respecto a una fecha llamada promedio_huespedes, hacemos lo siguiente:

ALTER FUNCTION promedio_huespedes

COMMENT     "Calculo del promedio diario de huéspedes

entre una fecha inicial y una fecha final";

Como borrar una función?

Usando el comando DROP FUNCTION. Simplemente especificamos el nombre de la función y esta se borrará de la base de datos. Su sintaxis esta definida de la siguiente forma:

DROP FUNCTION nombre_funcion

Por ejemplo, para borrar una función que retorna en el ingreso neto con respecto a todos los tiquetes aéreos comprados en una sucursal de una aerolínea, llamada ingreso_neto_sucursal:

DROP FUNCTION ingreso_neto_sucursal;

James Revelo Urrea - Desarrollador independiente http://www.hermosaprogramacion.com

Fuente: este post proviene de Hermosa Programación, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Recomendamos

Relacionado

informática funciones sql server ...

Funciones en SQL Server

Como habíamos visto en el articulo de funciones en MySQL, una función es una rutina almacenada que recibe unos parámetros escalares de entrada, luego los procesa según el cuerpo definido de la función y por ultimo retorna en un resultado de un tipo especifico que permitirá cumplir un objetivo. A diferencia de MySQL las funciones definidas por el usuario en SQL Server permiten retornar tablas en l ...

informática bases de datos cursor ...

Cursores en SQL Server

Un cursor es un objeto que te permite leer fila por fila los resultados que arroja una consulta. Lo que significa que ahora podremos ejecutar bloques de instrucciones que se relacionen individualmente con cada registro. A lo largo de este artículo estudiaremos los pasos necesarios para usar un cursor sobre una consulta. Veremos como usar el bucle WHILE para leer completamente la información y fina ...

informática bases de datos cursor ...

Creación de Cursores en MySQL

Un cursor es un objeto que apunta a las filas retornadas de una consulta. Esta característica permite manipular los datos de cada fila de forma individual. MySQL usa la palabra reservada CURSOR para declarar estos espacios de lectura. ¿Qué son los Cursores en MySQL? Recuerda que cuando consultábamos tablas con SELECT, MySQL arrojaba rápidamente los registros en pantalla de un solo tiro y nosotros ...

informática bases de datos ejemplos ...

Crear Triggers en MySQL

Un Trigger en MySQL es un programa almacenado(stored program), creado para ejecutarse automaticamente cuando ocurra un evento en nuestra base de datos. Dichos eventos son generados por los comandos INSERT, UPDATE y DELETE, los cuales hacen parte del DML(Data Modeling Languaje) de SQL. Esto significa que invocaremos nuestros Triggers para ejecutar un bloque de instrucciones que proteja, restrinja ...

tech apple featured ...

Apple: 10 funciones escondidas en iOS 12

Funciones que puedes programar, más detalles en cuanto al uso de bateria y mayor protección en tu información, son algunas de las opciones ocultas que al parecer traerá el iOS 12. A finales de mayo pasado, Apple, lanzó el iOS 11.4, brindando mucha más estabilidad a los iPhone. El avance tecnológico de la compañía no deja de sorprender y ya se tienen muchos detalles del iOS 12, aunque continúa en s ...

internet

IMPEDIR QUE COPIEN TEXTO DE SU PÁGINA EN BLOGGER

Para impedir que otros usuarios copien texto de su página web y la peguen en la de ellos, hay un par de códigos que nos van a servir. Existen dos códigos: (Se les agrega a <body>, es decir, antes de </body> que está al final de la plantilla) 1) PARA IMPEDIR QUE COPIEN SOMBREANDO CON EL MOUSE Y HACIENDO CLIC CON EL BOTÓN DERECHO <script language="Javascript" type="tex ...

SnapChat funciones

Snapchat y sus funciones

Si alguna  vez te has preguntado ¿Cuáles son las funciones de Snapchat? O quieres conocer cómo funciona esta aplicación antes de instalarla, has llegado al lugar correcto. Estas son las funciones básicas y más sobresalientes de Snapchat: Filtros Una de las funciones más resaltantes de Snapchat son sus filtros o efectos, ¿Cómo funcionan los filtros de Snapchat? Al igual que otras aplicaciones de ed ...

CSS: Nivel B2

Editar imágenes en tu web sin Instagram.

¿Y si te digo que ya no vas a necesitar los filtros de instagram ni los de Picmonkey ni los de Picsart para editar las fotos de tu web y que queden todas igual? Claramente tu respuesta sería No me lo creo, si se pudiese hacer ya lo sabría, ¿o crees que me gusta estar horas en una silla editando fotos?. Pues existe una manera de ahorrarte todas esas horas en la silla, no te culpes si no la sabías, ...

Arkatronic tienda online centro comercial online ...

Android 6.0 Marshmallow, sus principales funciones.

Android como Sistema Operativo no deja de estar trabajando incesantemente para tratar de acoger a la gran parte de público que tiene. Algunos contentos con sus versiones, otras que están que se tiran de los pelos por sus fallos, reinicios y demás inconvenientes, sin embargo a día de hoy todavía es lider en el mercado de la telefonía móvil y eso es algo que hace que tengan que trabajar a marchas fo ...

Linux

Hoja de trucos de los atajos de teclado de Vim

Este artículo forma parte de la serie Guía del usuario de VIM : La guía para principiantes para empezar a usar Vim Hoja de referencia de los atajos de teclado Vim 5 Vim Tips and Tricks for Experienced Users 3 Consejos y trucos útiles del editor VIM para usuarios avanzados El editor Vim es una herramienta basada en la línea de comandos que es una versión mejorada del venerable editor vi. A pesa ...