ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

TRIGERS


Enviado por   •  27 de Mayo de 2015  •  Informes  •  757 Palabras (4 Páginas)  •  158 Visitas

Página 1 de 4

Existen muchas aplicaciones para los disparadores, como las que se acaban de ver, pero algunas se manejan mejor con técnicas alternativas. Por ejemplo, en el pasado, los diseñadores de sistemas empleaban los disparadores para realizar resúmenes de datos. Se empleaban disparadores bajo la inserción, borrado o actualización de una relación empleado que contenía los atributos sueldo y departamento para mantener el sueldo total de cada departamento. Sin embargo, muchos sistemas de bases de datos actuales soportan las vistas materializadas, que ofrecen una forma mucho más sencilla de realizar los resúmenes de datos. Los diseñadores también empleaban mucho los disipadores para las réplicas de las bases de datos; utilizaban disparadores bajo la inserción, borrado o actualización de las relaciones para registrar las modificaciones en relaciones denominadas cambio o delta. Un proceso diferente copiaba las modificaciones a la réplica (copia) de la base de datos y el sistema ejecutaba los cambios en la réplica. Sin embargo, los sistemas de bases de datos modernos proporcionan características predeterminadas para la réplica de bases de datos, lo que hace que los disparadores resulten innecesarios para las réplicas en la mayor parte de los casos.

De hecho muchas aplicaciones de los disparadores, incluyendo el ejemplo de los descubiertos, se pueden sustituir mediante el uso adecuado de los procedimientos almacenados. Por ejemplo, supóngase que las actualizaciones del atributo saldo de cuenta solo se realizan mediante un procedimiento almacenado concreto. Ese procedimiento, a su vez comprobara si el saldo es negativo y llevara a cabo las acciones correspondientes al desencadenador del descubierto. Los programadores deben tener cuidado con no actualizar directamente al valor se saldó, sino actualizarlo solamente el procedimiento almacenado; esto se puede garantizar si no se proporciona a la aplicación(o al usuario) autorización.

Create trigger disparador_nuevo_pedido after update of cantidad on existencias

referencing old row as fila_vieja, new row as fila_nueva

for each row

when fila_nueva.nivel<= (select nivel from nivel_minimo where nivel_minimo.producto=fila_vieja.producto)

and fila_vieja.nivel> (select nivel from nivel_minimo where nivel_minimo.producto=fila_vieja.producto)

Begin

insert into pedidos

(select producto, cantidad from nuevo_pedido where nuevo_pedido.producto=fila_vieja.producto)

end

Create trigger disparador_descubierto on cuenta

for update

as

if inserted. Saldo<0

begin

insert into prestatario

(select nombre_cliente, numero_cuenta from impositor, inserted

where inserted. Numero_cuenta=impositor. Numero_cuenta)

Inserted into préstamo valúes

(inserted. Numero_cuenta, inserted. Nombre_sucursal,-inserted. Saldo)

update cuenta

...

Descargar como (para miembros actualizados)  txt (5 Kb)  
Leer 3 páginas más »
Disponible sólo en Clubensayos.com