Lev94
-
Modifié par KX le 17/02/2017 à 20:36
jordane45
Messages postés38145Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention25 avril 2024
-
18 févr. 2017 à 03:29
Bonjour,
Quelqu'un voit le problème dans ce script?
DROP SEQUENCE seqClient;
DROP SEQUENCE seqPrescription;
DROP SEQUENCE seqMedicament;
DROP SEQUENCE seqMedecin;
DROP SEQUENCE seqRenou;
ALTER TABLE RX_prescription DROP CONSTRAINT RX_prescription_NoCli_fk;
ALTER TABLE RX_RENOUVELLEMENT DROP CONSTRAINT RX_renouvellement_NoPres_fk;
PROMPT Destruction des tables
DROP TABLE RX_client;
DROP TABLE RX_renouvellement;
DROP TABLE RX_medicament;
DROP TABLE RX_docteur;
DROP TABLE RX_prescription;
PROMPT Création des séquences
CREATE SEQUENCE seqClient START WITH 20;
CREATE SEQUENCE seqPrescription START WITH 20;
CREATE SEQUENCE seqMedicament START WITH 20;
CREATE SEQUENCE seqMedecin START WITH 20;
CREATE SEQUENCE seqRenou START WITH 20;
PROMPT Création de la table RX_client -- Prompt la ligne dans console
CREATE TABLE RX_client(
No NUMBER(6),
Prenom VARCHAR2(20) CONSTRAINT client_prenom_nn NOT NULL,
Nom VARCHAR2(15) CONSTRAINT client_nom_nn NOT NULL,
Rue VARCHAR2(30),
Ville VARCHAR2(12) DEFAULT 'Montréal',
Telephone CHAR(10),
CONSTRAINT RX_client_No_pk PRIMARY KEY (No));
PROMPT Création de la table RX_medicament
CREATE TABLE RX_medicament(
No NUMBER(5),
Nom CHAR(25),
Prix NUMBER(7,2),
CONSTRAINT RX_medicament_No_pk PRIMARY KEY (No));
PROMPT Création de la table RX_docteur
CREATE TABLE RX_docteur(
No NUMBER(5),
Prenom VARCHAR2(20),
Nom VARCHAR2(25),
Rue VARCHAR2(30),
Ville VARCHAR2(20) DEFAULT 'Montréal',
Telephone CHAR(10),
CONSTRAINT RX_docteur_No_pk PRIMARY KEY (No));
PROMPT Création de la table RX_prescription
CREATE TABLE RX_prescription(
No NUMBER(6),
DatePres DATE,
NoMedi NUMBER(5),
Quantite NUMBER(4),
NbRenou NUMBER(2),
NoCli NUMBER(6),
NoDoc NUMBER(6),
CONSTRAINT RX_NbRenou_ck CHECK (NbRenou IN (0,1,2,3,4,5,6,7,8,9,10)),
CONSTRAINT RX_Quantite_ck CHECK (Quantite <= 100),
CONSTRAINT RX_prescription_No_pk PRIMARY KEY (No));
INSERT INTO RX_prescription VALUES (1, TO_DATE('01072001','DDMMYYYY'),1,50,3,1,4);
INSERT INTO RX_prescription VALUES (2, TO_DATE('15072001','DDMMYYYY'),1,25,4,2,5);
INSERT INTO RX_prescription VALUES (3, TO_DATE('22072001','DDMMYYYY'),2,40,5,3,6);
INSERT INTO RX_prescription VALUES (4, TO_DATE('28072001','DDMMYYYY'),2,50,3,4,7);
INSERT INTO RX_prescription VALUES (5, TO_DATE('01082001','DDMMYYYY'),3,20,4,5,8);
INSERT INTO RX_prescription VALUES (6, TO_DATE('12082001','DDMMYYYY'),3,30,5,6,9);
INSERT INTO RX_prescription VALUES (7, TO_DATE('15082001','DDMMYYYY'),4,50,6,7,1);
INSERT INTO RX_prescription VALUES (8, TO_DATE('17082001','DDMMYYYY'),4,40,1,8,2);
INSERT INTO RX_prescription VALUES (9, TO_DATE('22082001','DDMMYYYY'),5,29,2,9,3);
INSERT INTO RX_prescription VALUES (10, TO_DATE('24082001','DDMMYYYY'),5,30,0,1,4);
INSERT INTO RX_prescription VALUES (11, TO_DATE('26082001','DDMMYYYY'),6,20,0,1,5);
INSERT INTO RX_prescription VALUES (12, TO_DATE('27082001','DDMMYYYY'),6,50,0,2,6);
INSERT INTO RX_prescription VALUES (13, TO_DATE('01092001','DDMMYYYY'),7,50,3,3,6);
INSERT INTO RX_prescription VALUES (14, TO_DATE('08092001','DDMMYYYY'),7,29,3,4,7);
INSERT INTO RX_prescription VALUES (15, TO_DATE('12092001','DDMMYYYY'),8,40,2,5,8);
INSERT INTO RX_prescription VALUES (16, TO_DATE('18092001','DDMMYYYY'),8,20,1,6,9);
INSERT INTO RX_prescription VALUES (17, TO_DATE('24092001','DDMMYYYY'),9,30,1,7,1);
INSERT INTO RX_prescription VALUES (18, TO_DATE('26092001','DDMMYYYY'),9,30,3,8,2);
INSERT INTO RX_prescription VALUES (19, TO_DATE('29092001','DDMMYYYY'),1,30,3,9,3);
PROMPT Création de la table RX_renouvellement
CREATE TABLE RX_renouvellement(
No NUMBER(6),
DateRenou VARCHAR2(20),
Quantite NUMBER(4),
Prix NUMBER(7,2),
NoPres NUMBER(6),
CONSTRAINT RX_renouvellement_qte_ck CHECK(
CONSTRAINT RX_renouvellement_No_pk PRIMARY KEY(No));
PROMPT Création des contraintes de référence
ALTER TABLE RX_prescription
ADD CONSTRAINT RX_prescription_NoCli_fk
FOREIGN KEY(NoCli) REFERENCES RX_client(No) on delete set null;
ALTER TABLE RX_prescription
ADD CONSTRAINT RX_prescription_NoMedi_fk
FOREIGN KEY(NoMedi) REFERENCES RX_medicament(No);
ALTER TABLE RX_prescription
ADD CONSTRAINT RX_prescription_NoDoc_fk
FOREIGN KEY(NoDoc) REFERENCES RX_docteur(No);
ALTER TABLE RX_renouvellement
ADD CONSTRAINT RX_renouvellement_NoPres_fk
FOREIGN KEY(NoPres) REFERENCES RX_prescription(No) on delete cascade;
Message d'erreur :
Erreur commençant à la ligne 84 de la commande :
CREATE TABLE RX_renouvellement(
No NUMBER(6),
DateRenou VARCHAR2(20),
Quantite NUMBER(4),
Prix NUMBER(7,2),
NoPres NUMBER(6),
CONSTRAINT RX_renouvellement_qte_ck CHECK(
CONSTRAINT RX_renouvellement_No_pk PRIMARY KEY(No))
Erreur à la ligne de commande : 91, colonne : 12
Rapport d erreur :
Erreur SQL : ORA-00920: opérateur relationnel non valide
00920. 00000 - "invalid relational operator"
*Cause:
*Action:
Création des contraintes de référence
Erreur commençant à la ligne 94 de la commande :
ALTER TABLE RX_prescription
ADD CONSTRAINT RX_prescription_NoCli_fk
FOREIGN KEY(NoCli) REFERENCES RX_client(No) on delete set null
Rapport d erreur :
Erreur SQL : ORA-02298: impossible de valider (E1185317.RX_PRESCRIPTION_NOCLI_FK) - clés parents introuvables
02298. 00000 - "cannot validate (%s.%s) - parent keys not found"
*Cause: an alter table validating constraint failed because the table has
child records.
*Action: Obvious
Erreur commençant à la ligne 97 de la commande :
ALTER TABLE RX_prescription
ADD CONSTRAINT RX_prescription_NoMedi_fk
FOREIGN KEY(NoMedi) REFERENCES RX_medicament(No)
Rapport d erreur :
Erreur SQL : ORA-02298: impossible de valider (E1185317.RX_PRESCRIPTION_NOMEDI_FK) - clés parents introuvables
02298. 00000 - "cannot validate (%s.%s) - parent keys not found"
*Cause: an alter table validating constraint failed because the table has
child records.
*Action: Obvious
Erreur commençant à la ligne 100 de la commande :
ALTER TABLE RX_prescription
ADD CONSTRAINT RX_prescription_NoDoc_fk
FOREIGN KEY(NoDoc) REFERENCES RX_docteur(No)
Rapport d erreur :
Erreur SQL : ORA-02298: impossible de valider (E1185317.RX_PRESCRIPTION_NODOC_FK) - clés parents introuvables
02298. 00000 - "cannot validate (%s.%s) - parent keys not found"
*Cause: an alter table validating constraint failed because the table has
child records.
*Action: Obvious
Erreur commençant à la ligne 103 de la commande :
ALTER TABLE RX_renouvellement
ADD CONSTRAINT RX_renouvellement_NoPres_fk
FOREIGN KEY(NoPres) REFERENCES RX_prescription(No) on delete cascade
Rapport d erreur :
Erreur SQL : ORA-00942: Table ou vue inexistante
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
tyranausor
Messages postés3545Date d'inscriptionjeudi 6 août 2009StatutMembreDernière intervention 1 avril 20222 031 17 févr. 2017 à 22:59
Bonjour, je ne pense pas pouvoir t'aider pour détecter une éventuelle erreur dans cette requête SQL. Par contre, je t'invite à préciser où se trouve ton erreur (indiquer la ou les lignes) et aussi le nom de ton SGBD