Procedimientos almacenados
Encapsula lógica SQL reutilizable en el servidor: crea procedimientos con parámetros IN/OUT/INOUT, usa variables, condicionales IF/CASE, bucles LOOP/WHILE/REPEAT, cursores y control de acceso.
Los procedimientos almacenados son bloques de código SQL con nombre que se guardan en el servidor MySQL y se pueden invocar con una sola llamada. Permiten encapsular lógica de negocio compleja directamente en la base de datos, reduciendo el tráfico de red al ejecutar múltiples sentencias en el servidor sin enviarlas individualmente desde la aplicación, y facilitando la reutilización de código entre distintas aplicaciones que comparten la misma base de datos.
Esta sección cubre todos los aspectos de los procedimientos almacenados en MySQL: la sintaxis básica con DELIMITER, la creación con CREATE PROCEDURE y los tres tipos de parámetros (IN para valores de entrada, OUT para valores de retorno e INOUT para ambos). También se explican las variables locales, las estructuras de control condicional con IF y CASE, los bucles iterativos con LOOP, WHILE y REPEAT, las instrucciones de control de flujo LEAVE e ITERATE, y los cursores para procesar filas de un SELECT una a una. Finalmente, se cubre el control de acceso a los procedimientos con DEFINER y SQL SECURITY.
Los procedimientos almacenados son especialmente útiles en sistemas donde múltiples aplicaciones acceden a la misma base de datos MySQL, en operaciones batch que procesan grandes volúmenes de datos, y en entornos donde se quiere centralizar y proteger la lógica de acceso a datos independientemente de la tecnología usada en la capa de aplicación.
