Les tables techniques et les tables fonctionnelles utilisent des clefs étrangères et de "delete en cascade". Leur présence est nécessaire au bon fonctionnement du produit. Lors de certaines opérations (export - import Oracle de données) il peut être utile de les désactiver temporairement.
Faire le bilan des contraintes inactivées :
select constraint_name,validated from user_constraints where constraint_type='R' and validated <> 'VALIDATED'
Créer des ordres SQL pour désactiver les clefs étrangères :
select 'alter table '||table_name||' modify constraint '|| constraint_name||' disable novalidate;'
from user_constraints where constraint_type='R';
Créer des ordres SQL pour réactiver les clefs étrangères :
select 'alter table '||table_name||' modify constraint '|| constraint_name||' enable validate;'
from user_constraints where constraint_type='R';
Attention car certaines tables (ex: PP12) peuvent posséder une contrainte non nommée (Oracle va donc lui attribuer un nom système et la numéroter différemment sur chaque environnement).
Aucun commentaire:
Enregistrer un commentaire