|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Inscription : juin 2007 Messages : 17 ![]() |
salut,
je développe une application de traçage d'une base de donnée Oracle où je peut crée des TRIGGER a partir d'un nom d'une table existe dans la base sans connaitre d'avance la structure, mon problème c 'est dans le cas ou je crée une TRIGGER de type ON UPDATE je doit stocké le nom des colonnes modifiés dans une autre table nommé LMD. donc voila le problème est claire, c'est du connaître le nom du colonne modifié sans savoir la structure du table à tracé, l'ancienne valeur et la nouvelle valeur Code :
:NEW = la nouvelle valeur du colonne :OLD = l'ancienne valeur du colonne la structure du table LMD: Code :
de l'aide svp |
||||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juin 2007 Messages : 17 ![]() |
g pas dit que cette application est sous le cadre d'un mini projet en java et que je dois utilisé les trigger
|
|
|
00
|
|
|
#4 |
![]() ![]() vincent rogier Inscription : juillet 2007 Messages : 2 355 ![]() |
Pour moi, le seul moyen est de créer une fonction PL/SQL "génératrice de trigger".
Elle prendrai en paramètre le nom de la table. Cette fonction irai dans le catalogue oracle rechercher la définition de la table en question et génèrerai le code du trigger qui serait alors retourné au code appelant pour exécuter le DDL du trigger. Afin de déterminer ses colonnes modifiées, ce trigger devrait tester les champs de la tables (old/new) et faire l'insert sur la table d'audit si nécessaire. Ensuite tu exécuterai ce "trigger factory" pour chacune des tables voulues, te générant ainsi des triggers adpatés...
__________________
Vincent Rogier. Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique ! OCILIB (C Driver for Oracle) Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle |
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juin 2007 Messages : 17 ![]() |
tu peu me donné un exemple de fonction ?
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com