Programacion

Solo disponible en BuenasTareas
  • Páginas : 5 (1044 palabras )
  • Descarga(s) : 0
  • Publicado : 24 de enero de 2012
Leer documento completo
Vista previa del texto
Disparadores - base de datos — .
DISPARADORES Y PROCEDIMIENTOS
DISPARADORES
También conocidos como TRIGGERS , es un bloque de código almacenado en base de datos que se activa cuando se pulsa una determinada tecla u ocurre un determinado evento automáticamente, un disparador está asociado a una tabla como puede ser:
* - Realizar una consulta.
* - Validar un dato.
* -Hacer una operación DML inserta, modificar
* o eliminar registros de una base de datos.
En definitiva los DISPARADORES (TIGGERS) son eventos a nivel de tabla que se ejecutan automáticamente cuando se realizan ciertas operaciones sobre la tabla.
* Existen varios tipos de disparadores, dependiendo del tipo de transacción de disparo y el nivel en el que se ejecuta el disparador(trigger):
1.- Disparadores de nivel de fila : se ejecutan una vez para cada fila afectada por una instrucción DML. Los disparadores de nivel de fila se crean utilizando la cláusula for each row en el comando create trigger .
2.- Disparadores de nivel de instrucción : se ejecutan una vez para cada instrucción DML. Por ejemplo, si una única instrucción INSERT inserta 500 filas en una tabla undisparador de nivel de instrucción para dicha tabla sólo se ejecutará una vez. Los disparadores de nivel de instrucción son el tipo predeterminado que se crea con el comando create trigger .
1. DISPARADORES
* 3.- Disparadores Before y After : puesto que los disparadores son ejecutados por sucesos, puede establecerse que se produzcan inmediatamente antes (before) o después (after) de dichossucesos.
* 4.- Disparadores Instead Of : puede utilizar INSTEAD OF para indicar a Oracle lo que tiene que hacer en lugar de realizar las acciones que invoca el disparador. Por ejemplo, podría usar un disparador INSTEAD OF en una vista para gestionar las inserciones en una tabla o para actualizar múltiples tablas que son parte de una vista.

* 5.- Disparadores de esquema : puedecrear disparadores sobre operaciones en el nivel de esquema tales como create table, alter table, drop table, audit, rename, truncate y revoke. Puede incluso crear disparadores para impedir que los usuarios eliminen sus propias tablas. En su mayor parte, los disparadores de nivel de esquema proporcionan dos capacidades: impedir operaciones DDL y proporcionar una seguridad adicional que controle lasoperaciones DDL cuando éstas se producen.
* 6.- Disparadores en nivel de base de datos : puede crear disparadores que se activen al producirse sucesos de la base de datos, incluyendo errores, inicios de sesión, conexiones y desconexiones. Puede utilizar este tipo de disparador para automatizar el mantenimiento de la base de datos o las acciones de auditoría.
2. 1.- Nombre del trigger.( create [or replace] trigger <nombre del trigger>) 2.- Punto de tiempo del trigger ( before | after ) 3.- Disparando eventos ( insert or update [of <columnas> ] or delete <tabla>) 4.- Tipo de disparador (opcional) ( for each row ) 5.- Restricción del disparador (Solo para for each row disparador) ( when < Condición > ) 6.- Cuerpo del disparador Estructura de DisparadoresUna definición del disparador consiste en los siguiente componentes:
3. PROCEDIMIENTOS ALMACENADOS
* Un procedimiento es un conjunto de sentencias de SQL y que se guarda en la base de datos
* Con los procedimientos se amplia la velocidad de ejecución de las consultas sin reducir la eficiencia en la respuesta del servidor de base de datos. Esto porque el procedimiento escompilado en memoria virtual del cliente
* En los procedimientos se pueden crear tablas temporales que solamente existirán durante la ejecución del mismo
* Los valores resultantes de la ejecución del procedimiento serán obtenidos de la última consulta especificada, siempre y cuando no se envíen a una tabla temporal
* Se define una tabla temporal al anteponer el símbolo “ # ” a...
tracking img