Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour 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 02/03/2011, 12h42   #1
Invité régulier
 
Homme Cedric Moretti
Chef de projet MOA
Inscription : février 2010
Messages : 51
Détails du profil
Informations personnelles :
Nom : Homme Cedric Moretti
Localisation : France

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : février 2010
Messages : 51
Points : 7
Points : 7
Par défaut erreur CONSTRAINT et FOREIGN KEY

Bonjour je me permets de vous écrire car j’ai un erreur dans ma requête sql
J’utilise TOAD et l’erreur renvoyé et celle-ci


Code :
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE lignes_commandes 
( 
 -- declaration des colones et de leurs contraintes simples 
 	commande NUMBER(8) CONSTRAINT fk_lignes_to_commandes 
			 REFERENCES commandes(numero), 
	article NUMBER(6) CONSTRAINT fk_lignes_to_articles 
		REFERENCES commandes(numero), 
	quantite NUMBER(4) NOT NULL, 
--	declaration des constraintes qui portent sur plusieurs colonnes 
	CONSTRAINT pk_lignes_commandes
 PRIMARY KEY (commande, article) 
);
L’erreur
The following error has occurred:

ORA-02264: name already used by an existing constraint

Details:
ORA-02264: name already used by an existing constraint

Sur “pk_lignes_commandes » (table ne se créer pas)


Enfin j’ai une autre erreur dut surement à la première

Code :
1
2
3
4
ALTER TABLE lignes_commandes 
	  MODIFY CONSTRAINT fk_lignes_to_articles FOREIGN
 KEY (article) 
	  		  REFERENCES articles(numero);

The following error has occurred:
ORA-00933: SQL command not properly ended
Details:
ORA-00933: SQL command not properly ended

Je n’aurai pas fermé ma requête SQL
Avez-vous une idée ?
Merci
Cédric
cedric190985 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 14h06   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Je ne sais pas quoi vous dire de plus que le message d'erreur.
Je veux bien vous faire la traduction :
name already used by an existing constraint
=>
nom déjà utilisé par une contrainte existante.

Les noms des contraintes doivent être unique au sein de schéma.
Vous pouvez regarder dans la vue USER_CONSTRAINTS ce qui existe déjà.

Pour la seconde erreur, compte tenu que la première commande n'est pas exécutée, la table n'est pas créée, vous ne pouvez donc pas la modifier.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 14h08   #3
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
ORA-02264: name already used by an existing constraint
Google traduction peut-être ?
Le nom de la contrainte a déjà été utilisé dans la bd et le nom d'une contrainte est unique. Si tu changeais le nom de ta contrainte ?

ORA-00933: SQL command not properly ended
Syntaxe incorrecte...
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 09h41   #4
Invité régulier
 
Homme Cedric Moretti
Chef de projet MOA
Inscription : février 2010
Messages : 51
Détails du profil
Informations personnelles :
Nom : Homme Cedric Moretti
Localisation : France

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : février 2010
Messages : 51
Points : 7
Points : 7
Merci de votre réponse
je debute en sql
j'ai retirer de la table des contraintes pk_lignes_commandes qui était associé à une autre table
j'ignorai que il ne pouvait avoir que une seul contrainte sur une base total
cedric190985 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 04/03/2011, 11h30   #5
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Effectivement vous débutez.
Rien de grave, on est tous passé par là.

Je vous conseille très vivement de lire (et comprendre) les tutoriels SQL AVANT de créer quoi que ce soit.

http://sql.developpez.com/

Pour votre soucis, ce n'est pas une contrainte par "base", c'est que chaque contrainte doit avoir un nom unique.
Donc il ne faut pas supprimer vos contraintes, il suffit de leur donner un autre nom.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h03.


 
 
 
 
Partenaires

Hébergement Web