TRIGGERS EN ORACLE 8 J. Iriarte S. España

Slides:



Advertisements
Presentaciones similares
VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
Advertisements

Rocío Contreras Águila Primer Semestre 2010
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Introducción a PL/SQL Conceptos básicos.
Fernando Velasco
UNIVERSIDAD NACIONAL DE LOJA Carrera de Ingeniería en Sistemas
Unidad 3 Lenguaje de manipulación de datos(DML).
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DML Ing. Alfonso Vicente, PMP
Maestría en Bioinformática Bases de Datos y Sistemas de Información Otros objetos de Base de Datos Ing. Alfonso Vicente, PMP
PL/SQL Francisco Moreno Universidad Nacional.
Características Objeto Relacionales en Oracle
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
UNITA - IBARRA BLOQUES PL-SQL SUBPROGRAMAS Paulina Guevara.
Diseño Físico Procedimientos Almacenados y Disparadores (Triggers)
PL/SQL Francisco Moreno Universidad Nacional.
Restricciones de Integridad en ORACLE
SQL Lenguaje de consulta estructurado
1 BD Activas: Motivación zLos SGBD convencionales son “pasivos”. Sólo ejecutan preguntas o transacciones realizadas por los usuarios o por los programas.
PL/SQL Francisco Moreno Universidad Nacional. Introducción al PL/SQL ¿Por qué PL/SQL? A pesar de que SQL tiene mecanismos de control condicional (cláusula.
Bases de Datos Relacionales
16/04/ Sesión 11 Funciones y procedimientos Ing. Ricardo Inquilla.
PL/SQL Francisco Moreno Universidad Nacional.
Procedimientos Almacenados Funciones Agregadas
Componentes sintácticos
UNITA - IBARRA TRIGGERS
Lenguaje Estructurado de Consultas
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
PL/SQL Francisco Moreno Universidad Nacional.
SQL: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 19 Extensiones de Oracle 9i para las sentencias DML y DDL.
Triggers(Disparadores)
Características Objeto-Relacionales en Oracle Francisco Moreno Universidad Nacional.
LENGUAJE SQL.
Structured Query Language (Lenguaje Estructurado de Consultas)
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
SQL: DDL Francisco Moreno. SQL: DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la BD Tipos de objetos: - Tablas: corresponden a las.
SQL Sigla del nombre “Structured Query Language”.
Base de datos Francisco Castro. Creación de una tabla drop table TABLA cascade constraints; /*==============================================================*/
PUESTO-TRABAJO (Código-Puesto, Empresa, Sueldo, DNI- Contratado) TITULADO (DNI-Titulado, Nombre, Apellidos, Dirección) TITULACION (Iden-Titulación, Nombre,
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
DISPARADORES Y SISTEMAS DE GESTION DE BASE DE DATOS DE SQL
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo SQL en PL/SQL Conceptos básicos.
(Lenguaje de consulta estructurado)
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
MULTIPLAN Multiplan es la práctica en grupo que hemos tenido que realizar durante el curso según las especificaciones dadas en la asignatura.
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
AA Gerardo Morgade Donato AA Isnel Leyva Herbella.
Lenguaje Estructurado de Consultas
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Apuntes PL-SQL Triggers II. Tipos de datos compuestos Registros PL/SQL: Son similares a un tipo struct en C o a un tipo Registro en otros 3GL. Se componen.
Sentencias DDL y DML PostgreSQL. Base de Datos I – Fundamentos Básicos PostgreSQL PostgreSQL es un servidor de base de datos relacional libre bajo la.
SQL: DDL.
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Apuntes PL-SQL Triggers I.
3 Cursores ORACLE Bases de datos II I-2014 Universidad del Cauca In. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca In. Wilson Ortega.
Administración de Base de Datos Integridad Prof Mercy Ospina Torres Prof Renny A. Hernandez
Mtr. Adrián Monge Monge Educación 2015 Maestría, Mención en Administración de Proyectos ULACITMaestría, Mención en Administración de Proyectos 2012 Licenciatura,
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
Implementación de funciones definidas por el usuario.
6 Triggers ORACLE Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
6 Copyright © 2004, Oracle. Todos los derechos reservados. Trabajar con Tipos de Dato Compuestos.
6 Triggers ORACLE - III Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
PL/SQL Francisco Moreno Universidad Nacional.
BASE DE DATOS IUPSM CLASE PRACTICA. PROF. ING. JOSE L GUZMAN H.
UN DISPARADOR O TRIGGER es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Es una rutina autónoma.
BD Activas: Motivación
Transcripción de la presentación:

TRIGGERS EN ORACLE 8 J. Iriarte S. España Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia 29/01/03

Definición Los TRIGGERS (disparadores) son procedimientos que se ejecutan cuando se produce un suceso de base de datos (una operación: INSERT, UPDATE o DELETE) en una tabla específica. El acto de ejecutar un disparador se conoce como disparo. 29/01/03

Uso de los TRIGGERS El mantenimiento de restricciones de integridad complejas. La auditoría de la información contenida en una tabla. El aviso automático a otros programas de que hay que llevar a cabo una determinada acción, cuando se realiza un cambio en una tabla. 29/01/03

Sintaxis general de un TRIGGER CREATE [OR REPLACE] TRIGGER nombre_disparador { BEFORE | AFTER  suceso_disparo ON referencia_tabla [FOR EACH ROW [ WHEN condición_disparo ]] cuerpo_disparador 29/01/03

Componentes de un disparador Los componentes de un disparador son el nombre, el suceso de disparo y el cuerpo. La cláusula WHEN es opcional. 29/01/03

Tipos de disparadores 29/01/03

Disparadores de sustitución Son un tipo adicional de disparador de Oracle 8. Sólo pueden definirse sobre vistas. Tienen que tener nivel de fila. Cuando definimos disparadores INSTEAD OF para columnas LOB, podemos leer tanto el seudo-registro :OLD como el seudo-registro :NEW, pero no se puede modificar sus valores. 29/01/03

Eliminación y deshabilitación de los disparadores La sintaxis de la orden que elimina un disparador es: DROP TRIGGER nombre_disparador La sintaxis de la orden que deshabilita un disparador es: ALTER TRIGGER nombre_disparador [DISABLE | ENABLE] 29/01/03

Orden de activación de los disparadores 29/01/03

La cláusula WHEN La cláusula WHEN sólo es válida para los disparadores con nivel de fila. Si está presente, el cuerpo del disparador sólo se ejecutará para las filas que cumplan la condición especificada en la cláusula. La cláusula WHEN tiene la forma: WHEN condición 29/01/03

EJEMPLO DROP TABLE stat_tab; CREATE TABLE stat_tab(utype CHAR(8), rowcnt INTEGER, uhour INTEGER); CREATE OR REPLACE PACKAGE stat IS rowcnt INTEGER; END; 29/01/03

EJEMPLO CREATE TRIGGER bt BEFORE UPDATE OR DELETE OR INSERT ON sal BEGIN stat.rowcnt := 0; END; CREATE TRIGGER rt BEFORE UPDATE OR DELETE OR INSERT ON sal FOR EACH ROW BEGIN stat.rowcnt := stat.rowcnt + 1; 29/01/03

EJEMPLO CREATE TRIGGER at AFTER UPDATE OR DELETE OR INSERT ON sal DECLARE typ CHAR(8); hour NUMBER; BEGIN IF updating THEN typ := 'update'; END IF; IF deleting THEN typ := 'delete'; END IF; IF inserting THEN typ := 'insert'; END IF; 29/01/03

EJEMPLO hour := TRUNC((SYSDATE - TRUNC(SYSDATE)) * 24); UPDATE stat_tab SET rowcnt = rowcnt + stat.rowcnt WHERE utype = typ AND uhour = hour; IF SQL%ROWCOUNT = 0 THEN INSERT INTO stat_tab VALUES (typ, stat.rowcnt, hour); END IF; EXCEPTION WHEN dup_val_on_index THEN END; 29/01/03