Problème clé étrangère sous oracle

begueradj Messages postés 273 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 24 juin 2014 - 9 nov. 2011 à 10:26
begueradj Messages postés 273 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 24 juin 2014 - 9 nov. 2011 à 10:28
Bonjour,

Toute aide sera précieuse (travail sur un projet):

Je crée la table voyageur sous ORACLE qui me signale cette erreur:
ORA-02438: Column check constraint cannot reference other columns
C'est la clé étrangère qui me pose problème (lorsque je l'enlève tout marche bien, mais j'ai besoin de référencer la table Catégorie à partir de ma table voyageur)

Voici les codes que j'ai utilisés:

Table Voyageur:

CREATE TABLE Voyageur(
numV NUMBER(4) NOT NULL PRIMARY KEY CONSTRAINT check_numV
     CHECK(numV LIKE'[!a-zA-Z]') DISABLE,
nomV VARCHAR(15) NOT NULL CONSTRAINT check_nomV
     CHECK(nomV LIKE'[!0-9]') DISABLE,
prenomV VARCHAR(15) NOT NULL CONSTRAINT check_prenomV
     CHECK(prenomV LIKE'[!0-9]')DISABLE,
birthdayV DATE NOT NULL DISABLE,
addressV VARCHAR(50) NOT NULL DISABLE,
telV VARCHAR(20) NOT NULL CONSTRAINT check_telV
     CHECK(telV LIKE'[+]%' AND telM LIKE'[!a-zA-Z]') DISABLE,
idCat NUMBER(1) NOT NULL DISABLE,
FOREIGN KEY(idCat) REFERENCES Categorie(idCat)
);



Table Categorie:

CREATE TABLE Categorie(
idCat NUMBER(1) NOT NULL DISABLE,
nomCat VARCHAR(20) NOT NULL CONSTRAINT check_nomCat
       CHECK(nomCat IN('insulaire','normale','insulairesecondaire'))  DISABLE,
reduction  NUMBER(3) NOT NULL  CONSTRAINT check_reduction
          CHECK(reduction IN ( '25' , '50' , '100' )) DISABLE,
PRIMARY KEY(idCat)
);


Merci d'avance

1 réponse

begueradj Messages postés 273 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 24 juin 2014 9
9 nov. 2011 à 10:28
en fait, juste une remarque:
FOREIGN KEY(idCat) REFERENCES Categorie(idCat)
dans ma source j'ai enlevé le code
0