Bonjour,

je n'arrive pas à mettre en place une contrainte d'intégrité.Voilà ce que je veux faire :

Supposons que j'ai deux tables d'utilisateurs "uti1" et "uti2" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE uti1
(
   login CHAR(8) NOT NULL,
   nom VARCHAR(40),
   prenom VARCHAR(20),
   CONSTRAINT PK_uti1 PRIMARY KEY (login)
);
 
CREATE TABLE uti2
(
   login CHAR(8) NOT NULL,
   nom VARCHAR(40),
   prenom VARCHAR(20),
   CONSTRAINT PK_uti2 PRIMARY KEY (login)
);
et une troisème table "matable"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
CREATE TABLE matable
(
   id NUMBER(10) NOT NULL,
   login CHAR(8),
   CONSTRAINT PK_matable PRIMARY KEY (id)
);
Je souhaite ajouter une contrainte d'intégrité permettant de vérifier que matable.login soit obligatoirement soit dans uti1 OU soit uti2.

Je pensais mettre une FOREIGN KEY du style
Code : Sélectionner tout - Visualiser dans une fenêtre à part
CONSTRAINT FK_matable FOREIGN KEY (login) REFERENCES uti1(login) OR uti2(login)
mais ça ne marche pas.

Pouvez-vous m'aider ?

Merci et bonne journée.