IOKELU
Nivel: Avanzado
💡 Ejecuta funciones almacenadas:
Puedes probar cualquier función en nuestra consola interactiva: Abrir consola SQL →

Funciones almacenadas en SQL: lógica reutilizable y segura

Las funciones almacenadas permiten encapsular cálculos y operaciones que devuelven un valor. Son ideales para validaciones, cálculos financieros, métricas y lógica repetitiva.

1. ¿Qué es una función almacenada?

Es un bloque de código SQL que devuelve un valor y puede ser llamado desde consultas.

2. Crear una función


CREATE FUNCTION obtener_saldo(id INT)
RETURNS INT
BEGIN
    DECLARE resultado INT;
    SELECT saldo INTO resultado FROM cuentas WHERE cuenta_id = id;
    RETURN resultado;
END;
    

3. Parámetros


CREATE FUNCTION aplicar_descuento(precio INT, porcentaje INT)
RETURNS INT
BEGIN
    RETURN precio - (precio * porcentaje / 100);
END;
    

4. Valores de retorno


CREATE FUNCTION doble(x INT)
RETURNS INT
BEGIN
    RETURN x * 2;
END;
    

5. Ejemplos prácticos


-- Función para calcular impuestos
CREATE FUNCTION calcular_iva(precio INT)
RETURNS INT
BEGIN
    RETURN precio * 0.21;
END;
    

-- Función para obtener nombre completo
CREATE FUNCTION nombre_completo(id INT)
RETURNS VARCHAR(100)
BEGIN
    DECLARE nombre VARCHAR(50);
    DECLARE apellido VARCHAR(50);
    SELECT n, a INTO nombre, apellido FROM usuarios WHERE usuario_id = id;
    RETURN CONCAT(nombre, ' ', apellido);
END;
    

6. Ejercicios para practicar

7. Mini‑proyecto: Biblioteca de funciones internas


CREATE FUNCTION total_con_iva(precio INT)
RETURNS INT
BEGIN
    RETURN precio + (precio * 0.21);
END;
    

8. Errores comunes

9. Preguntas frecuentes

¿Las funciones mejoran el rendimiento?

Sí, especialmente en cálculos repetitivos.

¿Puedo llamar funciones desde SELECT?

Sí, es una de sus ventajas.


Siguiente guía

SQL Avanzado – Normalización avanzada →