Portada » Crear función obtenerNombre(pId) en MySQL
Table of Contents
Crear función obtenerNombre(pId) en MySQL
Anuncios
Publicidad
En esta ocasión creamos una función en MySQL llamada obtenerNombre(pId), que nos permitirá obtener el nombre de un autor a partir de un parámetro de entrada.
Usaremos un parámetro de tipo entero (pId) en la cláusula WHERE, de manera que podamos buscar un autor por un ID concreto. Esta es una forma muy práctica de encapsular consultas y reutilizarlas dentro de tu base de datos.
Código completo de la función
1. Eliminar la función si ya existe
Es recomendable borrarla antes de crearla para evitar errores:
DROP FUNCTION IF EXISTS obtenerNombre;
2. Cambiar el delimitador
Como trabajamos con bloques de código, debemos modificar el delimitador temporalmente:
DELIMITER //
3. Crear la función
Ahora sí, creamos la función obtenerNombre:
CREATE FUNCTION obtenerNombre (pId INT)
RETURNS VARCHAR(30)
DETERMINISTIC
BEGIN
-- Declaramos la variable para almacenar el resultado
DECLARE vnombre VARCHAR(30);
-- Guardamos el nombre en la variable según el id recibido
SELECT nombre INTO vnombre
FROM autores
WHERE id = pId;
-- Devolvemos el valor
RETURN vnombre;
END //
DELIMITER ;
4. Probar la función
Creamos una variable con el ID y llamamos a la función:
SET @vid = 2;
SELECT IFNULL(obtenerNombre(@vid), 'No hay autores')
AS "El nombre con el Id especificado es";
Resultado de la función
Si el ID existe: mostrará el nombre del autor asociado.
Si el ID no existe: gracias a IFNULL, devolverá el texto "No hay autores".
De esta forma, evitamos errores y mostramos un mensaje más claro al usuario.
Recomendaciones
Añade el modificador DETERMINISTIC siempre que la función devuelva resultados consistentes para un mismo parámetro.
Ajusta el tipo de dato (VARCHAR(30)) a la longitud real de tu campo nombre.
Usa IFNULL() o COALESCE() cuando la función pueda devolver valores nulos.
Preguntas frecuentes sobre la función obtenerNombre(pId) en MySQL
1. ¿Qué diferencia hay entre un procedimiento almacenado y una función en MySQL? Un procedimiento puede ejecutar varias instrucciones y no siempre devuelve un valor, mientras que una función devuelve siempre un resultado que puede usarse en consultas SQL.
2. ¿Por qué usamos DELIMITER // al crear funciones? Se cambia el delimitador para que MySQL no confunda los puntos y comas internos del bloque con el final de la función.
3. ¿Qué hace la cláusula DETERMINISTIC? Indica que la función devuelve siempre el mismo resultado si recibe los mismos parámetros de entrada, lo que ayuda a la optimización de consultas.
4. ¿Cómo manejo los casos cuando el ID no existe en la tabla? Puedes usar IFNULL() o COALESCE() para devolver un mensaje personalizado como “No hay autores”.
5. ¿Puedo usar esta función dentro de otra consulta SQL? Sí, puedes llamarla directamente en SELECT, WHERE o incluso en otras funciones, siempre que no genere ambigüedad en la lógica de la consulta.
Cómo Crear, Gestionar y Administrar Usuarios en MySQL Paso a Paso (Guía Completa 2025) Anuncios Publicidad La administración de usuarios en MySQL es una de las tareas más importantes para cualquier administrador de bases de datos, desarrollador backend o estudiante de informática que necesite controlar el acceso, permisos y seguridad de su servidor. A lo... Lee más: Cómo Crear, Gestionar y Administrar Usuarios en MySQL Paso a Paso (Guía Completa 2025)
Cómo instalar, configurar y desinstalar el plugin validate_password en MySQL (Guía completa) Anuncios Publicidad El plugin validate_password de MySQL es una herramienta muy útil para mejorar la seguridad de tu base de datos. Permite establecer políticas de contraseñas más estrictas y así evitar el uso de claves débiles que puedan comprometer tu servidor. En esta... Lee más: Cómo instalar, configurar y desinstalar el plugin validate_password en MySQL
Cómo calcular el factorial en Java paso a paso: guía completa con ejemplo práctico Anuncios Publicidad Calcular el factorial de un número es uno de los ejercicios más clásicos cuando aprendemos programación. Además de ser útil para mejorar la lógica, nos ayuda a entender cómo funcionan los bucles, las variables acumuladoras y el flujo de... Lee más: Cómo calcular el factorial en Java paso a paso
Cómo calcular el factorial de un número en Python (Explicación paso a paso + ejemplo) Anuncios Publicidad Calcular el factorial de un número en Python es uno de los ejercicios más comunes para quienes están comenzando a programar. Este concepto aparece tanto en matemáticas como en programación, y es perfecto para entender bucles, acumuladores y... Lee más: Cómo calcular el factorial de un número en Python (Explicación paso a paso + ejemplo)
Cómo pasar datos a una clase en Python: 2 métodos explicados con ejemplos Anuncios Publicidad Si estás aprendiendo programación en Python, es normal preguntarte cuál es la mejor forma de pasar información a una clase. En este artículo te explico, de manera sencilla, las dos opciones más comunes: Ambas formas son válidas, pero cada una... Lee más: Cómo pasar datos a una clase en Python: 2 métodos explicados con ejemplos
Modo IA invade el buscador: ahora la búsqueda conversacional es la prioridad Anuncios Publicidad En los últimos meses hemos visto un cambio enorme en la forma en que funcionan los buscadores. El nuevo Modo IA ha llegado para quedarse, y con él una transformación que da prioridad total a la búsqueda conversacional. Esto significa que... Lee más: Modo IA invade el buscador: ahora la búsqueda conversacional es la prioridad