3. Funciones Personalizadas (UDF) 🧮
¿Funciones vs Procedimientos?
Las Funciones Definidas por el Usuario (UDF) se parecen muchísimo a los Procedimientos Almacenados, pero tienen una diferencia fundamental: Una función TIENE que retornar un valor (RETURN).
Mientras que un Procedure suele hacer trabajo sucio (Inserts, Updates gruesos de lógica de negocio), una Función se diseña para procesar datos y devolver una respuesta plana.
Creando una Función
La sintaxis requiere que especifiques qué tipo de dato va a devolver en la cabecera usando RETURN.
El superpoder: Usarlas en un SELECT
Debido a que devuelven un valor puro, ¡puedes inyectar tus propias funciones personalizadas directamente adentro de una consulta SQL normal!
UPDATE o INSERT pesados adentro de una Función. Las funciones sirven para leer y calcular. Deja la escritura masiva para los Procedures.
🎮 Analizando Retornos
Si en medio del código de una función escribes RETURN 100;, ¿qué ocurre con el resto del código que esté debajo de esa línea en el bloque BEGIN?
👁️ Ver respuesta sugerida
No se ejecuta. La palabra clave RETURN termina inmediatamente la función y devuelve el valor al programa que la invocó.