Cómo crear una función en MySQL

Cómo crear una función en MySQL para obtener la ciudad de un cliente por su ID

En esta entrada aprenderás a crear una función en MySQL que permite obtener el nombre de la ciudad de un cliente utilizando su id_cliente. Este tipo de funciones son muy útiles cuando quieres encapsular lógica reutilizable dentro de la base de datos, especialmente en proyectos relacionados con tiendas online o gestión de usuarios.

Instala varios programas con un solo clic


Objetivo de la función

Queremos crear una función llamada obtenerCiudad que reciba un ID de cliente como parámetro. Si ese ID existe en la tabla clientes, la función devolverá el nombre de la ciudad asociada. En caso contrario, devolverá NULL.

❤️ Aprende a crear un usuario en MySQL.


Usar la base de datos y explorar la tabla

Primero nos aseguramos de estar trabajando sobre la base de datos correcta y consultamos la tabla clientes.

-- Comenzamos a usar la tabla clientes de la base de datos tiendaonline: USE tiendaonline; -- Vemos la tabla sobre la que vamos a trabajar: SELECT * FROM clientes;

Cómo crear una función en MySQL
Cómo crear una función en MySQL


Probar la consulta que usaremos en la función

Antes de crear la función, comprobamos que la consulta devuelve correctamente la ciudad.

-- Esta es la consulta que haremos dentro de la función. SELECT c.ciudad FROM clientes AS c WHERE id_cliente = 2;

Eliminar la función si ya existe

Esto nos asegura que no habrá errores al crearla de nuevo:

-- Si la función existe la borramos. DROP FUNCTION IF EXISTS obtenerCiudad;

Crear la función obtenerCiudad

La función recibirá un parámetro (pid_cliente) y devolverá una cadena de texto con el nombre de la ciudad. También añadimos buenas prácticas como READS SQL DATA para indicar que solo lee datos y no modifica la base de datos.

-- Creamos la función: DELIMITER // CREATE FUNCTION obtenerCiudad(pid_cliente INT) -- El tipo de dato es varchar 50 -> cadena de texto RETURNS VARCHAR(50) DETERMINISTIC -- La función lee datos, pero no modifica las tablas. READS SQL DATA BEGIN DECLARE v_ciudad VARCHAR(50); SELECT c.ciudad INTO v_ciudad FROM clientes AS c WHERE c.id_cliente = pid_cliente AND c.id_cliente IS NOT NULL; RETURN v_ciudad; END // DELIMITER ;

Probar la función

Por último, hacemos una llamada de prueba a la función pasándole un id_cliente válido.

-- Prueba de la función: SELECT obtenerCiudad(2) AS Ciudad;




Cómo crear una función en MySQL para obtener la ciudad de un cliente por su ID

Comentarios

Entradas populares de este blog

Solución de errores de registro en Kodi

¿Qué es una redirección?

Borrar la cronología de Google Maps

Modificar el idioma en Windows 11

Área de Informática

Área de Informática
En Área de informática podrás aprender a reparar un ordenador en pocos días.

¿Qué aprenderás en Área de informática?

¡Bienvenid@ a nuestra página web dedicada a facilitar el mejor entretenimiento multimedia para ti! Dentro de nuestro espacio, nos hemos especializado en ofrecer guías detalladas y actualizadas acerca de Kodi, add-ons esenciales, así como trucos y consejos para optimizar tu experiencia en sistemas operativos como Windows y Linux. Profundiza en nuestras detalladas explicaciones paso a paso, concebidas para usuarios de todos los niveles. Desde cómo sacar el máximo partido a Kodi hasta cómo mejorar la efectividad de tu sistema operativo, hemos venido para simplificar tus experiencias como usuario de ordenadores. Con nuestros manuales especializados, descubrirás el poder de la información y llevarás tu gestión tecnológica al próximo nivel: ¡explora, aprende y domina!
También nos apasiona mantenerte al día de las últimas tendencias en aplicaciones. Analizamos las últimas innovaciones, desglosamos funciones, compartimos recomendaciones y ofrecemos información detallada para que siempre estés a la última del mundo digital. Desde las apps esenciales para aumentar tu productividad hasta las más apasionantes para el entretenimiento, queremos guiarte para que descubras lo último en tecnología. Junto a nosotros, no solo podrás aprender a reparar y optimizar tus terminales, sino que además estarás a la vanguardia de las aplicaciones más impactantes que están dando forma al futuro digital. ¡Forma parte de nuestra comunidad y mantente a la vanguardia de la revolución tecnológica! Y también descubriremos desde cómo liberar espacio en el disco duro hasta cómo solucionar problemas comunes en el hogar, te ofreceremos toda la información que necesitas para simplificar tu vida diaria.