Procedimientos en MySQL
Procedimientos en MySQL: Qué son, cómo se crean e invocan
Los procedimientos almacenados (stored procedures) en MySQL son bloques de código SQL que se almacenan en la base de datos y pueden ser ejecutados en cualquier momento. Son útiles para encapsular lógica compleja, mejorar el rendimiento y mantener la seguridad en el acceso a los datos.
¿Qué es un procedimiento en MySQL?
Un procedimiento es una secuencia de instrucciones SQL que se ejecutan como una unidad. Puedes reutilizarlos, simplificar el mantenimiento del código y reducir errores. Son muy usados en entornos donde se necesita lógica en el lado del servidor.
¿Cómo se crea un procedimiento?
Para crear un procedimiento se utiliza la instrucción CREATE PROCEDURE
. En muchos casos es necesario cambiar el DELIMITER, ya que el cuerpo del procedimiento contiene puntos y comas ;
y MySQL, por defecto, los interpreta como final de la instrucción.
💡 INNER JOIN, LEFT RIGHT y UNION en MySQL
¿Qué es DELIMITER
?
DELIMITER
es un comando que cambia el carácter que MySQL usa para saber cuándo termina una instrucción. Al escribir procedimientos, cambiamos temporalmente el delimitador (por ejemplo, a //
o $$
) para permitir el uso de ;
dentro del bloque del procedimiento.
Sintaxis básica
Uso de BEGIN
y END
BEGIN
y END
se usan para delimitar el cuerpo del procedimiento. Dentro puedes colocar múltiples instrucciones SQL separadas por ;
.
¿Qué es SELECT INTO
?
La instrucción SELECT INTO
se usa para asignar valores de una consulta SQL a variables. Es útil cuando quieres guardar datos dentro del procedimiento para usarlos después.
Ejemplo:
Parámetros en procedimientos: IN
, OUT
, INOUT
Los procedimientos pueden recibir parámetros para hacerlos más flexibles. Se pueden definir de tres formas:
-
IN: el parámetro solo se usa como entrada. No se modifica.
-
OUT: el parámetro se usa para devolver un valor al final del procedimiento.
-
INOUT: el parámetro se usa como entrada y salida. Puede modificarse dentro del procedimiento.
Ejemplo con parámetros
En este ejemplo anterior, pasamos el emp_id
como entrada y el salario
se devuelve como salida.
¿Cómo invocar un procedimiento?
Para ejecutar (invocar) un procedimiento, usamos la instrucción CALL
.
Comentarios
Publicar un comentario