Está en la página 1de 1

Procedimientos

almacenados y disparadores

Procedimientos Disparadores
almacenados

COMANDOS VENTAJAS DESVENTAJAS USOS


VENTAJAS Aplicaciones
Recurrir a los procedimientos MySQL puede Para que los procedimientos  Acceso más rápido  Se corrompe la base de Los usos 'típicos' de los procedimientos
Existen situaciones en las que usar procedimientos almacenados se aplican en la validación
resultar muy beneficioso. Muestra de ello, son las almacenados realicen su función a los datos. datos y se pueden perder
almacenados es fuente de beneficios. Es lo que de datos, integrados dentro de la
siguientes ventajas: previamente debemos crearlos y esto hasta los respaldos.
sucede en los siguientes casos:  mayor velocidad
 Aumento del rendimiento de las solo lo podemos hacer a través de unos estructura del banco de datos. Los
aplicaciones.  Cuando se deben ejecutar tareas comandos específicos dentro de este de respuesta. procedimientos almacenados usados con
 procedimiento almacenado varias veces en programadas. sistema. En primer lugar, si nos tal propósito se llaman comúnmente
 Mejor manejo de
una sola conexión, se usa la versión centramos en la creación de nuestro disparadores, o triggers. Otro uso común
 Si es preciso compartir lógica de negocios la paquetería etc.
compilada particular procedimiento debemos es la 'encapsulación' de un API para un
 Mejora de la agilidad. no complicada con otras aplicaciones. proceso complejo o grande que podría
añadir el comando Create Procedure,
 Los procedimientos MySQL son portátiles  Cuando se debe controlar el acceso a mientras que por el contrario, si lo que requerir la 'ejecución' de varias consultas
 Transparencia y posibilidad de ciertas tablas en función de los queremos es eliminarlo, en el caso de SQL, tales como la manipulación de un
reutilización. identificadores de usuario. que exista de forma previa, entonces el 'dataset' enorme para producir un
 Los procedimientos MySQL son seguros comando cambiará pasando a ser Drop resultado resumido. También pueden ser
 En los casos en que hay que procesar datos COMANDOS usados para el control de gestión de
Procedure if Exists.
de tablas con una gran cantidad de Un disparador es un objeto con nombre en una base de operaciones, y ejecutar procedimientos
registros en una red con ancho de banda Por otro lado, si queremos delimitar almacenados dentro de una transacción
nuestra búsqueda a través de estos datos que se asocia con una tabla, y se activa cuando
limitado. de tal manera que las transacciones sean
procedimientos almacenados tendremos ocurre un evento en particular para esa tabla. efectivamente transparentes para ellos.
que introducir el comando Delimeter y si El disparador queda asociado a la tabla nombre_tabla.
queremos llevar a cabo comparaciones Esta debe ser una tabla permanente, no puede ser una
añadiremos comandos en inglés como es
tabla TEMPORARY ni una vista.
el caso de Then, Else o If, entre otros.
DESVENTAJAS USOS Aunque estos son los comandos más momento_disp es el momento en que el disparador
Utilizar los procedimientos almacenados de MySQL Los usos 'típicos' de los procedimientos habituales, también contamos con otros entra en acción. Puede ser BEFORE (antes)
está ligado a algunos inconvenientes que merece la almacenados se aplican en la validación de datos, específicos para poder incluir variables u o AFTER (despues), para indicar que el disparador se
pena conocer. Se trata de los siguientes: integrados dentro de la estructura del banco de datos. otros parámetros de búsqueda.
ejecute antes o después que la sentencia que lo activa.
 Aumentan el uso de la memoria Los procedimientos almacenados usados con tal
evento_disp indica la clase de sentencia que activa al
propósito se llaman comúnmente disparadores,
 Restringidos para una lógica de negocios o triggers. Otro uso común es la 'encapsulación' de disparador. Puede ser INSERT, UPDATE, o DELETE. Por
compleja un API para un proceso complejo o grande que podría ejemplo, un disparador BEFORE para
 Difíciles de depurar. requerir la 'ejecución' de varias consultas SQL, tales sentencias INSERT podría utilizarse para validar los
como la manipulación de un conjunto de datos
valores a insertar.
 Difíciles de mantener: requiere un conjunto enorme para producir un resultado resumido.
de habilidades especializadas que no todos No puede haber dos disparadores en una misma tabla
los desarrolladores de aplicaciones poseen. También pueden ser usados para el control de gestión
que correspondan al mismo momento y sentencia. Por
de operaciones, y ejecutar procedimientos
almacenados dentro de una transacción de tal manera ejemplo, no se pueden tener dos disparadores BEFORE
que las transacciones sean efectivamente UPDATE. Pero sí es posible tener los
transparentes para ellos. disparadores BEFORE UPDATE y BEFORE
INSERT o BEFORE UPDATE y AFTER UPDATE.
sentencia_disp es la sentencia que se ejecuta cuando se
activa el disparador. Si se desean ejecutar múltiples
sentencias, deben colocarse entre BEGIN ... END, el
constructor de sentencias compuestas. Esto además
posibilita emplear las mismas sentencias permitidas en
rutinas almacenadas.

También podría gustarte