Está en la página 1de 14

Instituto Tecnologico de Las Americas

TEMA:
Diferencia entre trigger y stored
procedure.
MATERIA:
Base de Datos Avanzada
DOCENTE:
Ana Quintana Prez
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
condicin establecida al
realizar una operacin de
insercin (INSERT),
actualizacin (UPDATE) o
borrado (DELETE).

Usos de los Trigger:


Para mejorar la administracin de las Base de Datos.

Prevencin de errores de datos.

Sincronizacin de las tablas.

Modificacin de los datos en las vistas de la base de


datos.
Tipos de Trigger:

Row Triggers : son aquellas que se ejecutaran nveces 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 condicin, su
ejecucin es nica.

Estructura bsica de un Trigger:

Llamada de activacin.

Restriccin.

Accin a ejecutar

Es un programa,
fragmento de cdigo
o como su nombre lo
indica un
procedimiento, el
cual es almacenado
fsicamente 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 especfico


que se desee realizar .

Validacin de datos, integrados dentro de la


estructura del banco de datos.

Usos de los Stored Procedure:

Encapsulacin de un API para un proceso complejo o


grande que podra requerir la ejecucin de varias
consultas SQL.

Para el control de gestin de operaciones.

Para ejecutar procedimientos almacenados dentro de


una transaccin 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 pequeos 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;
|