[SQL] Requêtes mal-écrites.

Résolu
Utilisateur anonyme -  
jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonsoir,

Je devrais créer une structure de données en utilisant les syntaxes de création des tables, des clés primaires et des clés étrangères en se basant sur un modèle physique. Suite à l'exécustion de mes requêtes SQL à l'aide de SQL* Plus Worksheet, je découvre des erreurs que je ne sais pas corriger.
Voici les requêtes que j'ai écrites :

CREATE TABLE FAMILLE
(
code_famille VARCHAR2(2),
nom_famille VARCHAR(40),
taux_rem NUMBER(6,3),
mont_rem NUMBER(18,6),
CONSTRAINT PK_FAMILLE PRIMARY KEY (code_famille));


CREATE TABLE SOUS_FAMILLE
(
code_sf VARCHAR2(4),
nom_sf VARCHAR2(40),
taux_rem NUMBER(18,6),
mont_rem NUMBER(18,6),
code_famille VARCHAR2(2),
CONSTRAINT PK_SOUS_FAMILLE PRIMARY KEY (code_sf),
CONSTRAINT FK_SOUS_FAMILLE FOREIGN KEY (code_famille),
REFERENCE FAMILLE (code_famille));


CREATE TABLE ARTICLE 
(
CODE_ART VARCHAR2(20),
CODE_SF VARCHAR2(4),
DESIGNATION_ART VARCHAR2(50),
US VARCHAR2(2),
UL VARCHAR2(2),
UL_US NUMBER(10,6),
DERNIER_PA NUMBER(18,6),
DATE_SAISIE DATE,
DATE_DERN_MODIF DATE,
CONSTRAINT PK_ARTICLE PRIMARY KEY (CODE_ART),
CONSTRAINT FK_ARTICLE FOREIGN KEY (CODE_SF),
REFERENCE SOUS_FAMILLE (CODE_SF));

CREATE TABLE MAGASIN
(
code_mag VARCHAR2(3),
linelle_mag VARCHAR2(40),
CONSTRAINT PK_MAGASIN PRIMARY KEY (code_mag));

CREATE TABLE ARTICLE_STK_MAGASIN
(
code_mag VARCHAR2(3),
code_art VARCHAR2(20),
qtit_stock NUMBER(10,3),
stock_min NUMBER(10,3),
stock_max NUMBER(10,3),
stock_alerte NUMBER(10,3),
Colonne_7 <Non défini>,
CONSTRAINT PK_ARTICLE_STK_MAGASIN PRIMARY KEY (code_mag),
CONSTRAINT PK_ARTICLE_STK_MAGASIN PRIMARY KEY (code_art),
CONSTRAINT FK_ARTICLE_STK_MAGASIN FOREIGN KEY (code_mag),
CONSTRAINT FK_ARTICLE_STK_MAGASIN FOREIGN KEY (code_art),
REFERENCE ARTICLE (CODE_SF));
                         

CREATE TABLE PRIX_ARTICLE
(
code_art VARCHAR2(20),
code_prix VARCHAR2(2),
prix NUMBER(18,6),
CONSTRAINT PK_PRIX_ARTICLE PRIMARY KEY (code_art),
CONSTRAINT PK_PRIX_ARTICLE PRIMARY KEY (code_prix),
CONSTRAINT FK_PRIX_ARTICLE FOREIGN KEY (code_art),
CONSTRAINT FK_PRIX_ARTICLE FOREIGN KEY (code_prix),
REFERENCE ARTICLE (CODE_SF));

CREATE TABLE PRIX
(
code_prix VARCHAR2(2),
libelle_prix VARCHAR2(30),
CONSTRAINT PK_PRIX PRIMARY KEY (code_prix));

CREATE TABLE TYPE_MVT
(
code_type VARCHAR2(2),
libelle VARCHAR2(30),
signe VARCHAR2(1),
CONSTRAINT PK_TYPE_MVT PRIMARY KEY (code_type));

CREATE TABLE LIGNES_MVT
(
code_type_mvt VARCHAR2(2),
num_mvt VARCHAR2(8),
date_mvt DATE,
CODE_ART VARCHAR2(20),
QUANTITE NUMBER(10,3),
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (code_type_mvt),
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (num_mvt),
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (date_mvt),
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (CODE_ART));


CREATE TABLE MOUVEMENT
(
code_type_mvt VARCHAR2(2),
num_mvt VARCHAR2(8),
date_mvt DATE,
code_type VARCHAR2(2),
montant_mvt NUMBER(18,6),
code... VARCHAR2(3),
CONSTRAINT PK_MOUVEMENT PRIMARY KEY (code_type_mvt),
CONSTRAINT PK_MOUVEMENT PRIMARY KEY (num_mvt),
CONSTRAINT PK_MOUVEMENT PRIMARY KEY (date_mvt),
CONSTRAINT FK_MOUVEMENT FOREIGN KEY (code_type));




Et voilà les erreurs qu'on m'affiche :
SQL*Plus: Release 9.0.1.0.1 - Production on Lu Fev 25 21:34:33 2008

(c) Copyright 2001 Oracle Corporation. All rights reserved.

Connecté.
Connecté.
CREATE TABLE FAMILLE
*
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà


CONSTRAINT FK_SOUS_FAMILLE FOREIGN KEY (code_famille),
*
ERREUR à la ligne 9 :
ORA-00905: Mot-clé absent


CONSTRAINT FK_ARTICLE FOREIGN KEY (CODE_SF),
*
ERREUR à la ligne 13 :
ORA-00905: Mot-clé absent


CREATE TABLE MAGASIN
*
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà


Colonne_7 <Non défini>,
*
ERREUR à la ligne 9 :
ORA-00902: Type de données non valide


CONSTRAINT PK_PRIX_ARTICLE PRIMARY KEY (code_prix),
*
ERREUR à la ligne 7 :
ORA-02260: la table ne peut avoir qu'une clé primaire


CREATE TABLE PRIX
*
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà


CREATE TABLE TYPE_MVT
*
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà


CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (code_type_mvt),
*
ERREUR à la ligne 8 :
ORA-00905: Mot-clé absent


date_mvt DATE?
*
ERREUR à la ligne 5 :
ORA-00911: Caractère non valide





Merci de m'éclaircir les lanternes :)
A voir également:

12 réponses

jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
il faut que tu fasses un fichier texte supp.sql qui supprime toutes les tables :
drop table famille;
drop table sous_famille;
...

que tu executes ce fichier .sql avant de lancer le sql de creation, car sinon tu as les erreurs :
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà

puisque la table existe dejà elle ne peut pas etre recrée

* Colonne_7 <Non défini>, ça ne peut pas exister, soit tu enleves la ligne soit tu mets quelquechose comme : colonne_7 varchar2(2) sinon cela ne marchera jamais

* pour cette erruer là, qui est présente sur le nombreuses tables :
CONSTRAINT FK_SOUS_FAMILLE FOREIGN KEY (code_famille)
*
ERREUR à la ligne 9 :
ORA-00907: Parenthèse de droite absente

il faudrait que tu réaffiches le script que tu lances :-)


3
jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
bonsoir,

regarde la syntaxe des fk ici : https://www.techonthenet.com/oracle/foreign_keys/foreign_keys.php

sur les lignes pk et fk, il ne faut pas de virgule de séparation en fin,

une seul PK possible sur une table

et pour pouvoir tester ton script, il faudrait que tu delete toutes les tables avant de commencer

et il y a des lignes de description de colonnes incomplètes

tu devrais tester chaque création individuellement pour corriger pas à pas chaque ordre sql

cordialement
0
Utilisateur anonyme
 
Bonjour,

Merci de ton aide et surtout du lien, le cours est bien clair :)
J'ai corrigé les fautes que tu as signalé :

- J'ai supprimé les virgules après la déclaration des clés primaires er étrangères.
- J'ai complété la déclaration des références qui me manquaient, au début je ne les ai pas écrites car je n'étais pas sûre du syntaxe.

une seul PK possible sur une table --> Dans le modèle physique qui me fut fourni, dans une table, il y a -parfois- plus d'une clé primaire.

et pour pouvoir tester ton script, il faudrait que tu delete toutes les tables avant de commencer --> Comment je fais ? Sur SQL* Plus Worksheet, je me connecte en utilisant le nom d'utilisateur et je fais START .... (le chemin qui mène au fichier .sql) puis je recopie ce qu'il y a dans ce fichier, et je fais F5. Des erreurs existent toujours et je ne sais pas pourquoi.

Je renvoie le code après les modifications que j'ai apportées :

CREATE TABLE FAMILLE
(
code_famille VARCHAR2(2),
nom_famille VARCHAR(40),
taux_rem NUMBER(6,3),
mont_rem NUMBER(18,6),
CONSTRAINT PK_FAMILLE PRIMARY KEY (code_famille)
);


CREATE TABLE SOUS_FAMILLE
(
code_sf VARCHAR2(4),
nom_sf VARCHAR2(40),
taux_rem NUMBER(18,6),
mont_rem NUMBER(18,6),
code_famille VARCHAR2(2),
CONSTRAINT PK_SOUS_FAMILLE PRIMARY KEY (code_sf),
CONSTRAINT FK_SOUS_FAMILLE FOREIGN KEY (code_famille)
REFERENCE FAMILLE (code_famille)
);


CREATE TABLE ARTICLE
(
CODE_ART VARCHAR2(20),
CODE_SF VARCHAR2(4),
DESIGNATION_ART VARCHAR2(50),
US VARCHAR2(2),
UL VARCHAR2(2),
UL_US NUMBER(10,6),
DERNIER_PA NUMBER(18,6),
DATE_SAISIE DATE,
DATE_DERN_MODIF DATE,
CONSTRAINT PK_ARTICLE PRIMARY KEY (CODE_ART)
CONSTRAINT FK_ARTICLE FOREIGN KEY (CODE_SF)
REFERENCE SOUS_FAMILLE (CODE_SF)
);

CREATE TABLE MAGASIN
(
code_mag VARCHAR2(3),
linelle_mag VARCHAR2(40),
CONSTRAINT PK_MAGASIN PRIMARY KEY (code_mag)
);

CREATE TABLE ARTICLE_STK_MAGASIN
(
code_mag VARCHAR2(3),
code_art VARCHAR2(20),
qtit_stock NUMBER(10,3),
stock_min NUMBER(10,3),
stock_max NUMBER(10,3),
stock_alerte NUMBER(10,3),
Colonne_7 <Non défini>,
CONSTRAINT PK_ARTICLE_STK_MAGASIN PRIMARY KEY (code_mag)
CONSTRAINT PK_ARTICLE_STK_MAGASIN PRIMARY KEY (code_art)
CONSTRAINT FK_ARTICLE_STK_MAGASIN FOREIGN KEY (code_mag)
CONSTRAINT FK_ARTICLE_STK_MAGASIN FOREIGN KEY (code_art)
REFERENCE MAGASIN (code_mag,code_art)
);


CREATE TABLE PRIX_ARTICLE
(
code_art VARCHAR2(20),
code_prix VARCHAR2(2),
prix NUMBER(18,6),
CONSTRAINT PK_PRIX_ARTICLE PRIMARY KEY (code_art)
CONSTRAINT PK_PRIX_ARTICLE PRIMARY KEY (code_prix)
CONSTRAINT FK_PRIX_ARTICLE FOREIGN KEY (code_art)
CONSTRAINT FK_PRIX_ARTICLE FOREIGN KEY (code_prix)
REFERENCE ARTICLE (code_art,code_prix)
);

CREATE TABLE PRIX
(
code_prix VARCHAR2(2),
libelle_prix VARCHAR2(30),
CONSTRAINT PK_PRIX PRIMARY KEY (code_prix)
);

CREATE TABLE TYPE_MVT
(
code_type VARCHAR2(2),
libelle VARCHAR2(30),
signe VARCHAR2(1),
CONSTRAINT PK_TYPE_MVT PRIMARY KEY (code_type)
);

CREATE TABLE LIGNES_MVT
(
code_type_mvt VARCHAR2(2),
num_mvt VARCHAR2(8),
date_mvt DATE,
CODE_ART VARCHAR2(20),
QUANTITE NUMBER(10,3),
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (code_type_mvt)
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (num_mvt)
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (date_mvt)
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (CODE_ART)
REFERENCE ARTICLE (code_type_mvt,num_mvt,date_mvt,CODE_ART)
);


CREATE TABLE MOUVEMENT
(
code_type_mvt VARCHAR2(2),
num_mvt VARCHAR2(8),
date_mvt DATE,
code_type VARCHAR2(2),
montant_mvt NUMBER(18,6),
code_mag VARCHAR2(3),
CONSTRAINT PK_MOUVEMENT PRIMARY KEY (code_type_mvt)
CONSTRAINT PK_MOUVEMENT PRIMARY KEY (num_mvt)
CONSTRAINT PK_MOUVEMENT PRIMARY KEY (date_mvt)
CONSTRAINT FK_MOUVEMENT FOREIGN KEY (code_type)
CONSTRAINT FK_MOUVEMENT FOREIGN KEY (code_mag)
REFERENCE TYPE_MVT (code_type,code_mag)
);



Bonne journée lumineuse :)
0
joujouwa
 
Bonjour khaoula,

il y a juste un probleme au niveau de l'ecriture de la syntaxe pour la clé etrangere c'est pas reference mais c'est REFERENCES avec un S a la fin, tu visite le site donné par l'autre personne il y a le script du programme et il faut mieux de faire un copier-coller et par la suite tu remplaces par tes propres attributs pour éviter les erreurs.

https://www.techonthenet.com/oracle/foreign_keys/foreign_keys.php

j'espere que ça va etre utile pour toi.

cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Il n'y a qu'une PK, mais elle peut comporter plusieurs champs (chp1,chp2,...)

Avant de relancer ton script, il faudrait supprimer chaque table, par exemple dans un autre .sql qui contiendrait :
drop table famille;
drop table sous_famille;
...


Dans ton sql, il faudrait mettre un message (avec la commande prompt) avant chaque commande, comme cela on sait sur quelle commande on a une erreur comme :

prompt creation TABLE FAMILLE

CREATE TABLE FAMILLE
(
...

prompt creation SOUS_FAMILLE

CREATE TABLE SOUS_FAMILLE
(


Tu n'as pas recopié le resultat pour avoir la liste des erreurs, de toute façon ce sera plus lisible avec les instructions comme ci-dessus.

ca c'est sur c'est une anomalie : Colonne_7 <Non défini>,

il faut mettre en multi champ, par exemple :

CONSTRAINT PK_ARTICLE_STK_MAGASIN PRIMARY KEY (code_mag,code_art)

CONSTRAINT FK_ARTICLE_STK_MAGASIN FOREIGN KEY (code_mag,code_art)
REFERENCES MAGASIN (code_mag,code_art)
0
Utilisateur anonyme
 
Me revoili,

J'espère que mes questions ne sont pas trop chiantes, ce que je n'ai pas compris est le fait de créer un autre fichier .sql dans lequel je supprime les tables. Quel est son interêt ? Et dans ce fichier, il faut que je supprime "toutes" les tables ?
Pour les clés primaires et étrangères, je les ai rassemblées dans une seule ligne, mais avec plusieurs champs.
REFERENCES a remplacé REFERENCE.
Pour le champ Colonne_7 <Non défini>, il est défini comme-ça dans le modèle physique, devrais-je remplacer le "non défini" par la valeur "null" ?

Enfin, voici les erreurs qu'on me fasse sortir :

creation TABLE FAMILLE
CREATE TABLE FAMILLE
*
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà


creation TABLE SOUS_FAMILLE
CONSTRAINT FK_SOUS_FAMILLE FOREIGN KEY (code_famille)
*
ERREUR à la ligne 9 :
ORA-00907: Parenthèse de droite absente


creation TABLE ARTICLE
CONSTRAINT FK_ARTICLE FOREIGN KEY (CODE_SF)
*
ERREUR à la ligne 13 :
ORA-00907: Parenthèse de droite absente


creation TABLE MAGASIN
CREATE TABLE MAGASIN
*
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà


creation TABLE ARTICLE_STK_MAGASIN
CONSTRAINT FK_ARTICLE_STK_MAGASIN FOREIGN KEY (code_mag,code_art)
*
ERREUR à la ligne 10 :
ORA-00907: Parenthèse de droite absente


creation TABLE PRIX_ARTICLE
CONSTRAINT FK_PRIX_ARTICLE FOREIGN KEY (code_art,code_prix)
*
ERREUR à la ligne 7 :
ORA-00907: Parenthèse de droite absente


creation TABLE PRIX
CREATE TABLE PRIX
*
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà


creation TABLE TYPE_MVT
CREATE TABLE TYPE_MVT
*
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà


creation TABLE LIGNES_MVT
REFERENCES ARTICLE (code_type_mvt,num_mvt,date_mvt,CODE_ART)
*
ERREUR à la ligne 9 :
ORA-00942: Table ou vue inexistante


creation TABLE MOUVEMENT
CONSTRAINT FK_MOUVEMENT FOREIGN KEY (code_type,code_mag)
*
ERREUR à la ligne 10 :
ORA-00907: Parenthèse de droite absente



J'ai appris beaucoup de choses que je n'ai pas eu l'occasion de voir lors du cours, je t'en remercie :)
0
Utilisateur anonyme
 
Resalut,

J'ai fait ce que tu m'as demandée et ça a marché :)

Reste une erreur est la suivante :

CONSTRAINT FK_SOUS_FAMILLE FOREIGN KEY (code_famille)
*
ERREUR à la ligne 9 :
ORA-00907: Parenthèse de droite absente

Voici le script à la din :
prompt creation TABLE FAMILLE 

CREATE TABLE FAMILLE
(
code_famille VARCHAR2(2),
nom_famille VARCHAR(40),
taux_rem NUMBER(6,3),
mont_rem NUMBER(18,6),
CONSTRAINT PK_FAMILLE PRIMARY KEY (code_famille)
);

prompt creation TABLE SOUS_FAMILLE 
CREATE TABLE SOUS_FAMILLE
(
code_sf VARCHAR2(4),
nom_sf VARCHAR2(40),
taux_rem NUMBER(18,6),
mont_rem NUMBER(18,6),
code_famille VARCHAR2(2),
CONSTRAINT PK_SOUS_FAMILLE PRIMARY KEY (code_sf)
CONSTRAINT FK_SOUS_FAMILLE FOREIGN KEY (code_famille)
REFERENCES FAMILLE (code_famille)
);

prompt creation TABLE ARTICLE
CREATE TABLE ARTICLE 
(
CODE_ART VARCHAR2(20),
CODE_SF VARCHAR2(4),
DESIGNATION_ART VARCHAR2(50),
US VARCHAR2(2),
UL VARCHAR2(2),
UL_US NUMBER(10,6),
DERNIER_PA NUMBER(18,6),
DATE_SAISIE DATE,
DATE_DERN_MODIF DATE,
CONSTRAINT PK_ARTICLE PRIMARY KEY (CODE_ART)
CONSTRAINT FK_ARTICLE FOREIGN KEY (CODE_SF)
REFERENCES SOUS_FAMILLE (CODE_SF)
);

prompt creation TABLE MAGASIN
CREATE TABLE MAGASIN
(
code_mag VARCHAR2(3),
linelle_mag VARCHAR2(40),
CONSTRAINT PK_MAGASIN PRIMARY KEY (code_mag)
);

prompt creation TABLE ARTICLE_STK_MAGASIN
CREATE TABLE ARTICLE_STK_MAGASIN
(
code_mag VARCHAR2(3),
code_art VARCHAR2(20),
qtit_stock NUMBER(10,3),
stock_min NUMBER(10,3),
stock_max NUMBER(10,3),
stock_alerte NUMBER(10,3),
CONSTRAINT PK_ARTICLE_STK_MAGASIN PRIMARY KEY (code_mag,code_art)
CONSTRAINT FK_ARTICLE_STK_MAGASIN FOREIGN KEY (code_mag,code_art)
REFERENCES MAGASIN (code_mag,code_art)
);


prompt creation TABLE PRIX_ARTICLE
CREATE TABLE PRIX_ARTICLE
(
code_art VARCHAR2(20),
code_prix VARCHAR2(2),
prix NUMBER(18,6),
CONSTRAINT PK_PRIX_ARTICLE PRIMARY KEY (code_art,code_prix)
CONSTRAINT FK_PRIX_ARTICLE FOREIGN KEY (code_art,code_prix)
REFERENCES ARTICLE (code_art,code_prix)
);

prompt creation TABLE PRIX
CREATE TABLE PRIX
(
code_prix VARCHAR2(2),
libelle_prix VARCHAR2(30),
CONSTRAINT PK_PRIX PRIMARY KEY (code_prix)
);

prompt creation TABLE TYPE_MVT
CREATE TABLE TYPE_MVT
(
code_type VARCHAR2(2),
libelle VARCHAR2(30),
signe VARCHAR2(1),
CONSTRAINT PK_TYPE_MVT PRIMARY KEY (code_type)
);

prompt creation TABLE LIGNES_MVT
CREATE TABLE LIGNES_MVT
(
code_type_mvt VARCHAR2(2),
num_mvt VARCHAR2(8),
date_mvt DATE,
CODE_ART VARCHAR2(20),
QUANTITE NUMBER(10,3),
CONSTRAINT FK_LIGNES_MVT FOREIGN KEY (code_type_mvt,num_mvt,date_mvt,CODE_ART)
REFERENCES ARTICLE (code_type_mvt,num_mvt,date_mvt,CODE_ART)
);

prompt creation TABLE MOUVEMENT
CREATE TABLE MOUVEMENT
(
code_type_mvt VARCHAR2(2),
num_mvt VARCHAR2(8),
date_mvt DATE,
code_type VARCHAR2(2),
montant_mvt NUMBER(18,6),
code_mag VARCHAR2(3),
CONSTRAINT PK_MOUVEMENT PRIMARY KEY (code_type_mvt,num_mvt,date_mvt)
CONSTRAINT FK_MOUVEMENT FOREIGN KEY (code_type,code_mag)
REFERENCES TYPE_MVT (code_type,code_mag)
);


Merci :)
0
jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
en fait j'avais été trop rapide dans ma première explication,

il faut bien une virgule entre chaque contrainte (mais pas sur la FK entre sa definition et la reference)

donc :

...
code_famille VARCHAR2(2) ,
CONSTRAINT PK_SOUS_FAMILLE PRIMARY KEY (code_sf) ,
CONSTRAINT FK_SOUS_FAMILLE FOREIGN KEY (code_famille)
REFERENCES FAMILLE (code_famille)
);


on devrait approcher de la fin :-))
0
Utilisateur anonyme
 
Bonsoir,
Je commence à me sentir trop lourde et j'ai honte de dire que ça génére encore des erreurs, cette fois-ci c'est différent :
(J'ai recopié même le résultat de l'exécution de la suppression des tables)


SQL*Plus: Release 9.0.1.0.1 - Production on Je Fev 28 20:37:48 2008

(c) Copyright 2001 Oracle Corporation.  All rights reserved.

Connecté.
Connecté.
DROP TABLE FAMILLE
           *
ERREUR à la ligne 1 :
ORA-02449: clés uniques/primaires de la table référencées par des clés
étrangères


DROP TABLE SOUS_FAMILLE
           *
ERREUR à la ligne 1 :
ORA-02449: clés uniques/primaires de la table référencées par des clés
étrangères



Table supprimée.


Table supprimée.

DROP TABLE ARTICLE_STK_MAGASIN
           *
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante


DROP TABLE PRIX_ARTICLE
           *
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante



Table supprimée.


Table supprimée.

DROP TABLE LIGNES_MVT
           *
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante


DROP TABLE MOUVEMENT
           *
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante


Connecté.
DROP TABLE FAMILLE
           *
ERREUR à la ligne 1 :
ORA-02449: clés uniques/primaires de la table référencées par des clés
étrangères



Table supprimée.

DROP TABLE ARTICLE
           *
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante


DROP TABLE MAGASIN
           *
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante


DROP TABLE ARTICLE_STK_MAGASIN
           *
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante


DROP TABLE PRIX_ARTICLE
           *
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante


DROP TABLE PRIX
           *
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante


DROP TABLE TYPE_MVT
           *
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante


DROP TABLE LIGNES_MVT
           *
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante


DROP TABLE MOUVEMENT
           *
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante


creation TABLE FAMILLE
CREATE TABLE FAMILLE
             *
ERREUR à la ligne 1 :
ORA-00955: Ce nom d'objet existe déjà


creation TABLE SOUS_FAMILLE

Table créée.

creation TABLE ARTICLE

Table créée.

creation TABLE MAGASIN

Table créée.

creation TABLE ARTICLE_STK_MAGASIN
REFERENCES MAGASIN (code_mag,code_art)
                             *
ERREUR à la ligne 11 :
ORA-00904: Nom de colonne non valide


creation TABLE PRIX_ARTICLE
REFERENCES ARTICLE (code_art,code_prix)
                             *
ERREUR à la ligne 8 :
ORA-00904: Nom de colonne non valide


creation TABLE PRIX

Table créée.

creation TABLE TYPE_MVT

Table créée.

creation TABLE LIGNES_MVT
REFERENCES ARTICLE (code_type_mvt,num_mvt,date_mvt,CODE_ART)
                    *
ERREUR à la ligne 9 :
ORA-00904: Nom de colonne non valide


creation TABLE MOUVEMENT
CONSTRAINT FK_MOUVEMENT FOREIGN KEY (code_type,code_mag)
                                               *
ERREUR à la ligne 10 :
ORA-00904: Nom de colonne non valide

Pourtant, j'ai ajouté les virgules, je me demande si dans ce cas : 
prompt creation TABLE PRIX
CREATE TABLE PRIX
(
code_prix VARCHAR2(2),
libelle_prix VARCHAR2(30),
CONSTRAINT PK_PRIX PRIMARY KEY (code_prix)
);


Faut-il que je mette un virgule après la contrainte ?

Bien des choses à toi :)
0
jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
pour les drop de table

si tu n'as pas encore creer des enregistrement dans les tables, il faudrait supprimer celles qui ont des clés étrangeres (FK) avant celle qui contient la FK de reference en fait :

il faut creer le pere puis le fils (avec FK) et
il faut supprimer le fils puis le père

(en lancant 3 fois le sql de drop cela devrait toutes les supprimer aussi :-))
-----------------------
Pourtant, j'ai ajouté les virgules, je me demande si dans ce cas :
prompt creation TABLE PRIX
CREATE TABLE PRIX
(
code_prix VARCHAR2(2),
libelle_prix VARCHAR2(30),
CONSTRAINT PK_PRIX PRIMARY KEY (code_prix)
);
Faut-il que je mette un virgule après la contrainte ?


NON, la virgule ne sert qu'à la separation s'il y a plusieurs contraintes (par exemple une PK et une FK)
-------------------------
pour les erreurs de type :

creation TABLE ARTICLE_STK_MAGASIN
REFERENCES MAGASIN (code_mag,code_art)
*
ERREUR à la ligne 11 :
ORA-00904: Nom de colonne non valide


La FK doit faire reference à un champ qui doit exister dans la table etrangère. Code_art n'est pas un champ de la table magasin, la FK doit juste être :

CONSTRAINT FK_ARTICLE_STK_MAGASIN FOREIGN KEY (code_mag)
REFERENCES MAGASIN (code_mag)
0
Utilisateur anonyme
 
Salut,
GRACE A TOI, J'AI PU CREER TOUTES LES TABLES ET JE T'EN REMERCIE INFINIMENT :)
Je suis très contente !

Un petit cadeau de chez moi:)
0
jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
merci, bonne continuation
0
valentino
 
salut tout le monde , voila j'epsere bien avoir de l'aider pour a fin de detecté l'erreur

CREATE TABLE "FIL"
( "ID_FIL" NUMBER NOT NULL ENABLE ,
"COULEUR" VARCHAR2(40) NOT NULL ENABLE,
"ID_TYPE_FIL" NUMBER NOT NULL ENABLE,

CONSTRAINT "FIL_PK" PRIMARY KEY ("ID_FIL") ENABLE,
CONSTRAINT "FIL_FK2" FORGEIN KEY ("ID_TYPE_FIL")
REFERENCES "TYPE_FIL" ("ID_TYPE_FIL") ON DELETE CASCADE ENABLE
)

ORA-00907: parenthèse de droite absente
merci
0
jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Salut,

il est possible que ce soit parce que tu as une ligne à blanc au milieu, la commande serait alors considérée comme terminée, mais bien sur en erreur, car incomplète.
0