Bachiller

Solo disponible en BuenasTareas
  • Páginas : 47 (11582 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de septiembre de 2012
Leer documento completo
Vista previa del texto
Creación de Disparadores de Base de Datos

16

Copyright © Oracle Corporation, 200 2. Todos los Derechos Reservados.

Objetivos

Al finalizar esta lección, debería estar capacitado para hacer lo siguiente:

• • • • •

Describir diferentes tipos de disparadores Describir los disparadores de base de datos y su uso Crear disparadores de base de datos Describir las reglas para arrancarun disparador de base de datos Eliminar disparadores de base de datos

Copyright © Oracle Corporation, 200 2. Todos los Derechos Reservados.

Finalidad de la Lección En esta lección aprenderá a crear y utilizar disparadores de base de datos.

Oracle9i: Programación con PL/SQL 16-2

Tipos de Disparadores

Un disparador:

• Es un bloque PL/SQL o un procedimiento PL/SQL asociado a
unatabla, una vista, un esquema o la base de datos

• Se ejecuta implícitamente siempre que se produce un evento
en particular

• Puede ser:
– – Un disparador de aplicaciones: Arranca siempre que se produce un evento con una aplicación en particular Un disparador de bases de datos: Arranca cuando se produce un evento de datos (como, por ejemplo, DML) o un evento del sistema (como, por ejemplo, laconexión o el cierre) en un esquema o en la base de datos

Copyright © Oracle Corporation, 200 2. Todos los Derechos Reservados.

Tipos de Disparadores Los disparadores de aplicaciones se ejecutan implícitamente siempre que se produce un evento DML (Lenguaje de Manipulación de Datos) en particular dentro de una aplicación. Una aplicación desarrollada con Oracle Forms Developer sería unejemplo de una aplicación que utiliza muchos disparadores. Los disparadores de base de datos se ejecutan implícitamente cuando se emiten eventos de datos como, por ejemplo, una operación DML en una tabla (una sentencia disparadora INSERT, UPDATE o DELETE), un disparador INSTEAD OF en una vista o sentencias DDL (Lenguaje de Definición de Datos) como, por ejemplo, CREATE y ALTER, con independencia de quéusuario esté conectado o qué aplicación se utilice. Los disparadores de base de datos también se ejecutan implícitamente cuando se producen algunas acciones de usuario o del sistema de base de datos como, por ejemplo, cuando se conecta un usuario o cuando el DBA cierra la base de datos. Nota: Los disparadores de base de datos se pueden definir en las tabla s y en las vistas. Si se emite unaoperación DML en una vista, el disparador INSTEAD OF define qué acciones se realizan. Si estas acciones incluyen operaciones DML en tablas, entonces arranca cualquier disparador de las tablas base. Los disparadores de base de datos pueden ser disparadores del sistema en una base de datos o en un esquema. Con una base de datos, los disparadores arrancan por cada evento para todos los usuarios . Con unesquema, los disparadores arrancan por cada evento para cada usuario específico. Este curso cubre la creación de disparadores de base de datos. La creación de disparadores de base de datos basados en eventos del sistema se explica en la lección “Otros Conceptos sobre Disparadores”.

Oracle9i: Programación con PL/SQL 16-3

Instrucciones para Diseñar Disparadores •

Diseñe disparadores para:
–– Realizar acciones relacionadas Centralizar operaciones globales Donde la funcionalidad ya est é incorporada en Oracle Server Que dupliquen otros disparadores



No diseñe disparadores:
– –

• •

Cree procedimientos almacenados y llámelos en un disparador si el código PL/SQL es muy largo. El uso excesivo de disparadores puede producir interdependencias muy complejas que pueden serdifíciles de mantener en aplicaciones de gran tamaño.
Copyright © Oracle Corporation, 200 2. Todos los Derechos Reservados.

Instrucciones para Dise ñar Disparadores • Utilice disparadores para garantizar que, cuando se realice una operación específica, también se lleven a cabo una serie de acciones relacionadas. • Utilice disparadores de base de datos sólo para las operaciones globales y...
tracking img