Supongamos que queremos que nuestro gestor de bases de datos nos avise cuando se modifiquen ciertos datos. En este caso concreto, quiero recibir un email a mi cuenta cuando los datos de una tabla no concuerden con los datos de otra (es decir, que la cantidad de un artículo que hay en una tabla sea diferente a la cantidad de ese mismo artículo en otra tabla). Parece lioso, pero se ve rápido con un ejemplo:
TABLA datos_almacen
Codigo_articulo varchar(16)
Cantidad decimal(12,3)
TABLA datos_almacen_2
Codigo_articulo varchar(16)
Cantidad decimal(12,3)
Entonces, si la cantidad del mismo artículo es diferente para las dos tablas, quiero que me avise. Supongamos que tengo la siguiente vista que muestra todos los artículos con diferencias:
CREATE VIEW mi_vista AS
SELECT *
FROM datos_almacen a inner join datos_almacen_2 b
on a.codigo_articulo = b.codigo_articulo
and a.cantidad <> b.cantidad
Correcto, esta vista muestra las diferencias (recuerda que estamos suponiendo que ambas tablas tienen los mismos códigos de artículo, si en uno hubiese más que en otro habría que hacer un JOIN lateral). Ahora el trigger para que salte cuando aparezca alguna diferencia:
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario