|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2004 Messages : 9 ![]() |
Bonjour,
j'aimerais avoir un avis sur la solution que je propose au problème suivant : j'ai une base maitre et 8 bases esclaves. Chaque fois qu'une insertion est faite dans une table particulière Te d'un esclave, il faut aussitot récupérer une des informations insérées et la mettre dans une table Tm de la base maitre. Par ailleurs, chaque fois qu'une ligne est modifiée dans une table Te, il faut également récupérer l'événement pour mettre à jour la table Tm. Les bases esclave ont toutes la même structure. La solution que je propose est de placer un trigger sur les tables Te de chaque base esclave. Je crée une table Tt tampon dans chaque base esclave. Chaque fois qu'une insertion est faite dans la table Te, le trigger insère les données dans la table tampon. Chaque fois qu'une mise à jour est faite sur une table Te, je mets à jour la table tampon Tt avec un autre trigger. Je crée un dblink dans chaque base esclave vers la base maitre. Ensuite, je place un trigger dans la table tampon qui va insérer les données dans la table Tm distante quand une insertion est faite. Je place également un trigger sur cette table pour intercepter les mises à jour et mettre à jour les données dans la table Tm. Est-ce que cette solution est correcte ? Y a-t-il possibilité de continuer à faire des mises à jour des table esclave Te et des tables tampon Tt si la base maitre n'est pas ouverte : en clair, le trigger (AFTER INSERT ou AFTER UPDATE sur les tables tampon Tt plante mais les tables Tt sont toujours modifiées ? merci de votre aide. |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : avril 2006 Messages : 465 ![]() |
As tu regardé un peu du coté des MATERIALIZED VIEWS qui offrent en standard un méchanisme assez proche de ce que tu decris
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2004 Messages : 9 ![]() |
merci Wurlitzer
ça me parait plus simple que les triggers. Je vais tenter la mise en place en fin de semaine. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com