Bonsoir tous,

je me permets de vous soumettre un petit problème lors de la création d'une table avec une contrainte. Je souhaite qu'il ne soit pas possible de faire plus de 15 inserts dans cette table, j'ai donc écrit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
CREATE TABLE Tent  (
   idTent               INTEGER                         NOT NULL,
   nbPlaces             INTEGER,
   description          VARCHAR(200),
   CONSTRAINT pk_Tent PRIMARY KEY (idTent)
   CHECK ((SELECT COUNT(T.idTent) from Tent T)<16)
);
mais j'ai un message d'erreur:

ORA-00907: parenthèse de droite absente

D'après mon bouquin, il est possible de faire un CREATE ASSERTION, j'ai donc essayé:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
CREATE ASSERTION MaxTent
CHECK ((SELECT COUNT(T.idTent) from Tent T)<16)
mais j'ai également une erreur: ORA-00901: commande CREATE non valide

Pour information j'utilise Oracle Express Edition,

Merci beaucoup à celui (ou celle) qui pourra m'aider.

Cordialement,