Bonjour a tous;
je voudrais lancer un import sur des tables mais ca me donne des erreurs a cause des contraintes, je voudrais savoir comment désactiver les contraintes, puis lancer mon import puis les activer.
Bonjour a tous;
je voudrais lancer un import sur des tables mais ca me donne des erreurs a cause des contraintes, je voudrais savoir comment désactiver les contraintes, puis lancer mon import puis les activer.
Voici une base :
Ce script désactive les contraintes ref de la table CLIENT et les contraintes référençant la table CLIENT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 DECLARE CURSOR c IS SELECT table_name, constraint_name FROM all_constraints WHERE owner ='MCM' AND table_name = 'CLIENT' AND constraint_type ='R' AND STATUS = 'ENABLED' UNION ALL SELECT table_name, constraint_name FROM ALL_CONSTRAINTS WHERE owner = 'MCM' AND constraint_type = 'R' AND r_constraint_name ='CLIENT_PK' AND STATUS = 'ENABLED'; BEGIN FOR r IN c LOOP EXECUTE IMMEDIATE ('ALTER TABLE ' || r.table_name || ' DISABLE CONSTRAINT ' || r.constraint_name ); END LOOP; END;
More Code : More Bugs. Less Code : Less Bugs
Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP
merci MCM;
tu m'as aidé a resousdre le problème, cepandant je me suis connecté avec sys et je voulais desactiver les contraintes pour l'utilisateur CLIENT alors il m'a fallut modifier le script, le voila:
merci infiniment
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 DECLARE CURSOR c IS SELECT table_name, constraint_name,owner FROM all_constraints WHERE owner ='CLIENT' AND constraint_type ='R' AND STATUS = 'ENABLED'; BEGIN FOR r IN c LOOP EXECUTE IMMEDIATE ('ALTER TABLE ' || r.owner||'.'||r.table_name || ' DISABLE CONSTRAINT ' || r.constraint_name ); END LOOP; END;
De rien,
Pense juste à utiliser la balise Code (le # dans les icones des messages)
More Code : More Bugs. Less Code : Less Bugs
Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager