Bonjour à tou(te)s,
j'ai développé un petit outil qui me permet de changer la structure d'une table Oracle en renommant l'ancienne, en créant la nouvelle et en transférant les données de l'ancienne vers la nouvelle.
Ca fonctionne bien .
En revanche, sur mon "Alter table ma_table rename to ma_table_ancienne", les triggers (traçabilité) se modifient et restent affectés à l'ancienne table (la valeur "ON ma_table" passe automatiquement à "ON ma_table_ancienne" )
Je pourrais les recréer depuis un script, mais il est impossible d'avoir 2 triggers de même nom sur des tables différentes, et le "create or replace" ne concerne manifestement que le body du trigger.
Donc, je n'ai pas d'autre choix, jusqu'à présent, que de supprimer avant de les recréer tous les triggers de toutes les tables dont je modifie la structure.
Ce qui est non seulement long, mais aussi plantogène...
Est-il possible d'intervenir dans le dictionnaire pour changer la table dont le trigger fait partie ?
Y-a-t'il une autre solution ?
Merci d'avance pour vos propositions et expériences.
Jérôme
Message édité par jized le 27-11-2018 à 16:24:36