Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/10/2007, 14h50   #1
Membre habitué
 
Avatar de petit arbre
 
Inscription : septembre 2006
Messages : 143
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 143
Points : 112
Points : 112
Par défaut disable des contraintes

Bonjour,

J'ai une base sous Oracle8i et en cherchant à faire un update
sur une structure arborescente, je suis tombé sur des contraintes
mère-fille qui se mordaient la queue et m'empêchaient de le faire.


Je tente de shunter les contraintes sur ces tables pour faire mon update puis de les remettre en tapant la commande suivante

Alter table Table_name
disable constraint contraint_name
/

j'ai le message d'erreur suivant :


1 alter table logi.kbatimt
2* disable constraint logi.FK_KESCAL_KBATIMT
SQL> /
disable constraint logi.FK_KESCAL_KBATIMT
*
ERROR at line 2:
ORA-00933: SQL command not properly ended



quelqu'un peut-il m'aider?

Merci d'avance

Olivier
petit arbre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 15h35   #2
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 972
Points : 3 972
Code :
Alter table Table_name disable constraint contraint_name ;
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 15h42   #3
Membre habitué
 
Avatar de petit arbre
 
Inscription : septembre 2006
Messages : 143
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 143
Points : 112
Points : 112
Merci mais pas mieux

Code :
1
2
3
4
5
6
alter table kbatimt disable constraint logi.FK_KESCAL_KBATIMT ;
alter table kbatimt disable constraint logi.FK_KESCAL_KBATIMT
                                           *
ERROR at line 1:
ORA-00933: SQL command not properly ended
petit arbre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 15h54   #4
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Essayez:
Code :
1
2
 
ALTER TABLE KBATIMT disable constraint FK_KESCAL_KBATIMT;
Le nom de la contrainte ne doit pas contenir le nom du schéma.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 15h58   #5
Membre habitué
 
Avatar de petit arbre
 
Inscription : septembre 2006
Messages : 143
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 143
Points : 112
Points : 112
ça se précise

Code :
1
2
3
4
5
6
7
 
 
SQL> ALTER TABLE KBATIMT disable constraint FK_KESCAL_KBATIMT;
ALTER TABLE KBATIMT disable constraint FK_KESCAL_KBATIMT
*
ERROR at line 1:
ORA-02431: cannot disable constraint (FK_KESCAL_KBATIMT) - no such constraint
Il faut créer un public synonym ?
petit arbre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h17   #6
Membre habitué
 
Avatar de petit arbre
 
Inscription : septembre 2006
Messages : 143
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 143
Points : 112
Points : 112
Je viens de trouver !!!



La contrainte est une FK et se situait donc dans la table fille.


Merci à vous deux
petit arbre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h20   #7
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Non.

Vérifiez que la contrainte existe dans le schéma courant pour la bonne table avec:

Code :
1
2
SELECT table_name, constraint_name
WHERE constraint_name = 'FK_KESCAL_KBATIMT';
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2007, 11h22   #8
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 52
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : juin 2007
Messages : 52
Points : 37
Points : 37
Citation:
Envoyé par pifor Voir le message
Non.

Vérifiez que la contrainte existe dans le schéma courant pour la bonne table avec:

Code :
1
2
SELECT table_name, constraint_name
WHERE constraint_name = 'FK_KESCAL_KBATIMT';
Code :
1
2
3
4
SELECT owner, table_name, constraint_name
FROM dba_constraints
WHERE constraint_name = 'FK_KESCAL_KBATIMT';
lapincretin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2007, 13h19   #9
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Citation:
Envoyé par lapincretin Voir le message
Code :
1
2
3
4
SELECT owner, table_name, constraint_name
FROM dba_constraints
WHERE constraint_name = 'FK_KESCAL_KBATIMT';


En fait ma requête complète (qui ne nécessite pas l'accès à DBA_CONSTRAINTS) était:

Code :
1
2
3
SELECT table_name, constraint_name
FROM user_constraints
WHERE constraint_name = 'FK_KESCAL_KBATIMT';
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h15.


 
 
 
 
Partenaires

Hébergement Web