Professional Documents
Culture Documents
1. Introducción
2. Creación de
triggers
3. Expresiones
4. Activación
Triggers en Oracle
5. Documentación
6. Ejercicios
Introducción
IISSI 1
Triggers 24/12/2016
Ejercicios
Ejercicios
IISSI 2
Triggers 24/12/2016
Introducción
Creación de Triggers
IISSI 3
Triggers 24/12/2016
Sintaxis de triggers
1. Introducción
2. Creación de CREATE [OR REPLACE] TRIGGER <nombre_trigger>
triggers
3. Expresiones
4. Activación
{BEFORE|AFTER}
5. Documentación
6. Ejercicios {DELETE|INSERT|UPDATE [OF <col1>, ..., <colN>]
[OR
{DELETE|INSERT|UPDATE [OF <col1>, .., <colN>]]}
ON table <nombre_tabla>
[FOR EACH ROW [WHEN (<condicion>)]]
Expresiones
1. Introducción
2. Creación de
triggers
• Cuando estamos haciendo una modificación (UPDATE) de
3. Expresiones una fila podemos referirnos al valor antes de ser modificado
4. Activación
5. Documentación (:OLD) y al valor después de la modificación (:NEW).
6. Ejercicios
IISSI 4
Triggers 24/12/2016
Activación de triggers
Documentación de triggers
IISSI 5
Triggers 24/12/2016
Ejercicios
1. Introducción
2. Creación de
triggers
3. Expresiones
4. Activación
CREATE TABLE empleados
5. Documentación
6. Ejercicios
(dni char(9) PRIMARY KEY,
nomemp varchar2(50),
jefe char(9),
departamento integer,
salario number(9,2) DEFAULT 1000,
usuario varchar2(50),
fecha date,
FOREIGN KEY (jefe) REFERENCES empleados (dni)
);
Ejercicios
necesarias para
comprobar que
funcional el trigger
IISSI 6
Triggers 24/12/2016
Ejercicios
Ejercicios
1. Introducción
2. Creación de
triggers CREATE OR REPLACE TRIGGER aumentoSalario
3. Expresiones
BEFORE UPDATE OF salario ON empleados
4. Activación
FOR EACH ROW
5. Documentación
6. Ejercicios
BEGIN
IF :NEW.salario > :OLD.salario*1.20
THEN raise_application_error
(-20600,:new.Salario||'no se puede aumentar el
salario más de un 20%');
END IF;
END;
IISSI 7
Triggers 24/12/2016
Ejercicios
Ejercicios
IISSI 8
Triggers 24/12/2016
Ejercicios
Ejercicios
IISSI 9
Triggers 24/12/2016
Ejercicios
Ejercicios
IISSI 10
Triggers 24/12/2016
Ejercicios
Ejercicio 6.
Escuela Técnica Superior
de Ingeniería Informática • Visualizar los trigger definidos sobre una tabla consultando la vista
Departamento de Lenguajes
y Sistemas Informáticos ALL-_TRIGGERS.
1. Introducción – DESC ALL-_TRIGGERS
2. Creación de – SELECT trigger_name, status FROM ALL_TRIGGERS WHERE table_name =
triggers
'empleados';
3. Expresiones
4. Activación
5. Documentación
6. Ejercicios
• Desactivar (DISABLE) y activar (ENABLE) los trigger definidos sobre una tabla:
– ALTER TABLE empleados DISABLE ALL TRIGGERS;
IISSI 11