Bonjour a tous
je montre dabord la structure de ma table :
Ensuite la clé d'unicité :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE TABLE MESINFORMATIONS ( LACLE INTEGER NOT NULL, CHAMP1 VARCHAR(80) NOT NULL, CHAMP2 VARCHAR(80), CHAMP3 VARCHAR(80), CHAMP4 VARCHAR(80), CHAMP5 VARCHAR(80), CHAMP6 VARCHAR(80), PROJETCODE INTEGER NOT NULL, EXOENCOURS VARCHAR(20) NOT NULL, ); ALTER TABLE MESINFORMATIONS ADD PRIMARY KEY (LACLE);
Ensuite une procédure qui met a jour ma table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ALTER TABLE MESINFORMATIONS ADD CONSTRAINT MACONTRAINTE UNIQUE (CHAMP1, PROJETCODE, EXOENCOURS);
Lorsque pour la procédure j'insère les valeurs 4230 pour tatami 1, tata pour tatami3 , 2009-2010 pour tatami2 (au niveau de la procédure) voila le code d'erreur que j'ai :
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
16 SET TERM ^ ; CREATE OR ALTER PROCEDURE MAJRENOUV ( tatami1 varchar(80), tatami2 varchar(20), tatami3 varchar(80)) as BEGIN UPDATE mesinformations SET mesinformations.exoencours=:tatami2, mesinformations.champ6=:tatami3 WHERE mesinformations.champ1=:tatami1 ; /* SUSPEND;*/ END^
Apparemment ça s'apparente a une duplication de données ! le problème est pour cette ligne que je veux modifier j'ai la valeur : 4230, 18, 2010-2011 valeur unique au niveau de ma base. Donc j'ai 4230 et 18 qui se répète mais 2010-2011 est remplacé par 2009-2010 Normalement tout devrait passer :Invalid insert or update value(s): object columns are constrained - no 2 table rows can have duplicate column values.
violation of PRIMARY or UNIQUE KEY constraint " MACONTRAINTE" on table "MESINFORMATIONS".
At procedure 'MAJRENOUV' line: 7, col: 3.
je n'arrive pas a comprendre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 UPDATE mesinformations SET mesinformations.exoencours='2009-2010', mesinformations.champ6='tata' WHERE mesinformations.champ1='4230';
Merci de m'aider
Partager