violation de contrainte check
Bonjour,
J'ai crée une table TITLE_COPY avec la syntaxe suivante, après , bien entendu avoir crée la table TITLE
Code:
1 2 3 4 5 6 7 8 9
|
CREATE TABLE TITLE_COPY (copy_id NUMBER(10),
title_id NUMBER(10)
CONSTRAINT title_copy_title_id_fk REFERENCES title(title_id),
STATUS VARCHAR2(15)
CONSTRAINT title_copy_status_nn NOT NULL
CONSTRAINT title_copy_status_ck CHECK(status IN('AVAILABLE','DESTROYED','RENTED','RESERVED')),
CONSTRAINT title_copy_copy_title_id_pk PRIMARY KEY(copy_id)); |
La table title_copy présente une contrainte check qui force les valeurs saisies pour le champ STATUS à être comprises dans l'ensemble de valeurs suivantes
'AVAILABLE','DESTROYED','RENTED','RESERVED'.
Juste après, je saisis les requêtes suivantes dans la table title_copy
Code:
1 2 3 4
|
INSERT INTO TITLE_COPY(copy_id,title_id,status)VALUES(301,101,'AVAILABLE');
INSERT INTO TITLE_COPY(copy_id,title_id,status)VALUES(302,102,'RESERVED'); |
Et je reçois le message d'erreursuivant :
ERREUR à la ligne 1 :
ORA-02290: violation de contraintes (SYSTEM.TITLE_COPY_STATUS_CK) de
vérification
qui, si j'ai bien compris m'indique qu'il y a une erreur de non respect de la contrainte check.
Pourquoi cette erreur alors que les valeurs saisies sont bien comprises dans l'ensemble de valeurs indiqué.
Merci beaucoup de votre réponse.
Cordialement.
Nathalie
desactivation contrainte check
Bonsoir,
C'est exactement ce que j'ai fait et l'insertion s'est très bien déroulée.
Je ne comprends pas pourquoi il bloquait lors de l'insertion car les valeurs insérées sont bien celles de la liste de valeurs énoncées lors de la création de la contrainte check.
Si quelqu'un a la solution...ce serait super de sa part de nous en dire un mot.
Cordialement.
Nathalie