Instituto Tecnologico de Las Americas
TEMA:
Diferencia entre trigger y stored procedure.
MATERIA:
Base de Datos Avanzada
DOCENTE:
Ana Quintana Pérez
EXPOSITOR:
Gregory Hidalgo
•Trigger.
•Stored
Procedure.
•Diferencias
•Ejemplos.
entre Trigger y Stored Procedure.
Trigger (Disparador)
En Base de datos , es un
procedimiento que se ejecuta
cuando se cumple una
condición establecida al
realizar una operación de
inserción (INSERT),
actualización (UPDATE) o
borrado (DELETE).
Usos de los Trigger:
Para mejorar la administración de las Base de Datos.
•
Prevención de errores de datos.
•
Sincronización de las tablas.
•
Modificación de los datos en las vistas de la base de
datos.
Tipos de Trigger:
•
Row Triggers : son aquellas que se ejecutaran n-veces si
se llama n-veces desde la tabla asociada al trigger
•
Statement Triggers : son aquellos que sin importar la
cantidad de veces que se cumpla con la condición, su
ejecución es única.
•
Estructura básica de un Trigger:
•
Llamada de activación.
•
Restricción.
•
Acción a ejecutar
Es un programa,
fragmento de código o
como su nombre lo
indica un
procedimiento, el cual
es almacenado
físicamente en una base
de datos.
Usos de los Stored Procedure:
•
•
•
Son utilizados para realizar consultas SQL sobre los objetos
del banco de datos de una manera abstracta.
Agrupar en forma exclusiva parte de algo específico que se
desee realizar .
Validación de datos, integrados dentro de la estructura del
banco de datos.
Usos de los Stored Procedure:
•
•
•
Encapsulación de un API para un proceso complejo o grande
que podría requerir la ejecución de varias consultas SQL.
Para el control de gestión de operaciones.
Para ejecutar procedimientos almacenados dentro de una
transacción de tal manera que las transacciones sean
efectivamente transparentes para ellos.
Diferencias entre Trigger y Stored Procedure
•
•
•
La principal diferencia es que los Triggers en realidad
son Stored procedure.
La velocidad en reponder a las peticiones de usuarios
es mayor en los Stored Procedure que en los Trigger.
Los trigger son pequeños fragmentos de codigo y los
stored procedure pueden encapsular procesos grandes
y complejos.
Ejemplo de Trigger en MySQL
CREATE TRIGGER ver_salario
BEFORE UPDATE ON empleados
REFERENCING NEW ROW AS n, OLD ROW AS o
FOR EACH ROW
IF n.salario <> o.salario THEN
END IF
Ejemplo de Trigger en PostgresQL
CREATE OR REPLACE FUNCTION actualizar() RETURNS TRIGGER
AS $ejemplo$
BEGIN
NEW.nombre := NEW.nombres || ' ' || NEW.apellidos ;
RETURN NEW;
END;
$ejemplo$ LANGUAGE plpgsql;
CREATE TRIGGER ejemplo
BEFORE INSERT OR UPDATE ON 'tabla'
FOR EACH ROW EXECUTE PROCEDURE actualizar();
Ejemplo de stored procedure en MySQL
DELIMITER |
CREATE PROCEDURE autos(IN velocidad int,IN marca
varchar(50))
BEGIN
IF velocidad < 120 then
INSERT INTO familiares VALUES(velocidad,marca);
ELSE
INSERT INTO deportivos VALUES(velocidad,marca);
END IF;
END;
|
Descargar

Diferencia entre trigger y stored procedure