Bonjour,
Dans le cadre de test, j'aurais besoin d'être en mesure de lister l'exhaustivité des mises à jour effectuées sur une base de données après execution de certain traitement ou groupe de traitements.
En ayant un modèle de donnée de la forme :
Table1
Clef Champ11
Data Champ 12
Apres déclaration des tables suivantes :
Table1_insert
Clef Champ11
Data Champ 12
Table1_update
Clef Champ11
Data Champ 12
Table1_delete
Clef Champ11
Data Champ 12
Savez vous s'il est possible à l'aide de trigger de faire les opérations suivantes :
- En cas d'insert dans Table1 :
de faire un insert dans Table1
de faire un select dans Table1_delete et d'y supprimer l'instance si elle est trouvée et de faire un insert dans table1_update
sinon de faire un insert dans Table1_insert
- En cas d'update sur une instance de Table1 :
de faire lupdate dans Table1.
de faire un select dans Table1_insert et d'y updater l'instance si elle est trouvée,
sinon, de faire un select dans table1_update d'y updater l'instance si elle est trouvée,
sinon, d'inserer l'instance updaté dans table1_update.
- En cas de delete sur Table1 :
de faire un delete sur table1
de faire un select sur Table1_insert et dy détruire linstance si elle est trouvée
sinon de faire un select sur Table1_update et dy détruire linstance si elle est trouvée en l'inserant dans Table1_delete
sinon de faire un insert de linstance supprimée dans Table1_delete
A la fin on est donc en mesure de matérialiser :
les instances qui n'existaient pas et qui existent maintenant,
les instance qui existent maintenant et qui n'existaient pas,
les instances qui ont été modifiées.
Si cest possible, si quelquun peut me faire un exemple de déclaration de ces trigger ce serait génial (j'y connais rien à ces trucs là).
Merci davance.
Message édité par fifiz le 06-06-2006 à 18:49:19