lunes, 21 de marzo de 2011

Triggers

Triggers

Introduccion a los Triggers

Los triggers se activan cuando las siguientes operaciones occurren:

  • Declaraciones DML (INSERT, UPDATE, DELETE) en una tabla o vista en particular. Hecha por cualquier usuario.
  • Declaraciones DDL (CREATE, Y ALTER PRIMALY) hechas por ya sea un uso en particular esquema/usuario o por cualquier esquema/usuario de la Base de Datos.
  • Eventos de la Base de Datos, tal como un logon/logoff, errores, o iniciar/apagar, tambien hechas por un particular esquema/usuario o por cualquier esquema/usuario en la Base de Datos.

Los Triggers son similares a procedimientos de almacenaje. Un Trigger almacenado en la Base de Datos puede incluir delaraciones en SQL y PL/SQL o JAVA para correr como unidad y puede invocar procedimientos almacenados.




Un Trigger tambien puede invocar un procedimiento en C, el cual es util para operaciones intensivas computacionales.

COMO SON UTILIZADOS LOS TRIGGERS

Los Triggers complementan las capacidades estandares de LA BD ORACLE, para proveer a un sistema de altos estandares de administracion. Los trigger basicamente son usados para:

  • Generar automaticamente valores derivados de columnas
  • Prevenir transacciones invalidas
  • Cumplir con Complejas Autorizaciones de Seguridad
  • Cumplir con Complejas reglas de Negocios
  • Proveer Eventos de inicio de sesion con trasparencia.
  • Mantener tablas replicadas sincronizadas
  • Mantener estadisticas en una tabla de acceso
  • Modificar datos en las tablas cuando las declaraciones DML emitidas en las vistas.
  • Publicar informacion de los eventos de la BD, Eventos del Usuario, y Delaraciones de SQL para aplicaciones de subscripciones.


COMPONENTES DE UN TRIGGER

Un Trigger tiene 3 componentes basicos:

  • El Evento o Delaracion de Triggering (el apretamiento, ejecutamiento, o gatillaje).
  • Restricciones del Trigger
  • Accion del Trigger

El Evento o Delaracion de Triggering (el apretamiento, ejecutamiento, o gatillaje):
Es la declaracion de SQL, Evento de la BD, o evento del usuario que causa que trigger se active, dispare o ejecute. El Evento de un triggering puede ser una de las siguientes:

  • Una Declaracion INSERT, UPDATE, o DELETE en una tabla en especifico. (O vista en algunos casos).
  • Una Declaracion CREATE, ALTER, o DROP de cualquier Objeto de Esquema.
  • Un inicio de BD o un apagon repentino.
  • Un mensaje de error en especifico o cualquier error de mensaje.
  • Un inicio o cierre de sesion de cualquier usuario.

Restricciones del Trigger:
Una restriccion del Trigger especifica un expresion Booleana que tiene que ser TRUE para que el trigger se active. La accion del Triger es no ejecutar si la restriccion del Trigger evalua que es FALSE o UNKNOWN. En el ejemplo, la restriccion del trigger es:

new.parts_on_hand < new.reorder_point

Consecutivamente, el trigger no se activa solamente si el numero de las partes disponibles es menor que un monto presente reordenado.

Accion del Trigger:
La accion de un trigger es el procedimiento (PL/SQL bloqueo, Programa de JAVA, o un llamdo de C) que contiene declaraciones de SQL y codigo para ser ejecutado cuando los siguientes eventos ocurren:

  • Una Declaracion de Trigger es Establecida
  • La restriccion de Trigger, evalua como TRUE.

Como un procedimiento almacenad, la accion de un triger puede:

  • Contener delaraciones SQL, PL/SQL
  • Definir lenguajes PL/SQL constructores, tal como variables, constantes, cursores y excepciones.
  • Definir lenguajes constructores de JAVA.
  • Invocar procedimientos almacenados.


TIPOS DE TRIGGERS:

Diferentes tipos de Triggers:

  • Triggers de Filas y Triggers de Delaraciones. Un trigger de fila es ejecutado cada vez que la tabla es afectada por la declaracion de triggering. Un triger de Delaraciones es ejecutado cuando por parte de la delaracion de triggerin, no importa el numero de filas en la tabla que la declaracion de triggering afecta, aun si ninguna fila es afectada.

  • Triggers de ANTES y DESPUES. Los triggers de ANTES ejecutan la accion del trigger antes de la delaracion de triggering sea ejecutada. Los triggers de Despues ejecutan el trigger despues de la accion de delaracion de triggering sea ejecutado.
  • Triggers Compuestos. Es un trigger solo en una tabla que permite especificar las acciones para cada uno de estos 4 tiempos: 1. Antes de la declaracion de ejecucion. 2. Antes de cada fila que el ejecutamiento de delaracion afecte. 3. Despues de cada fila, que el ejecutamiento de delaracion afecte. 4. Despues de la ejecucion de declaramiento.
  • Triggers EN VEZ DE. Estos proveen un camino de transparencia y modificar vistas que no mueden ser modificadas directamente atravez de las declaraciones de DML.
  • Triggers en Eventos de Sistema y en Eventos de Usuario.Usado cuando los triggers publican informacion de los Eventos de la BD a los que se subscriben.








No hay comentarios:

Publicar un comentario