[Résolu] INSERT et Clé Unique
Interbase 6.0
J'ai deux tables :
- LOTS
CREATE TABLE LOTS (
LOTDATE TIMESTAMP NOT NULL,
LOTLIEU VARCHAR (30) NOT NULL,
CONSTRAINT PK_LOT PRIMARY KEY (LOTDATE, LOTLIEU)
);
- ANIMAUX
CREATE TABLE ANIMAUX (
ANIMALID INTEGER NOT NULL,
ANIMALDATE TIMESTAMP NOT NULL,
ANIMALLIEU VARCHAR (30) NOT NULL
);
ANIMAUX est alimentée "de l'extérieur", puis je veux mettre à jour ma table de lots :
INSERT INTO LOTS (LOTDATE, LOTLIEU)
SELECT DISTINCT ANIMALDATE, ANIMALLIEU FROM ANIMAUX;
Cela marche bien sur une table LOTS Vide, mais dès que je cherche à insérer un lot déjà existant, j'ai évidemment une erreur de violation de clé et aucun lot n'est inséré.
Comment éviter l'erreur et obtenir que soient ajoutés les lots absents ?
Si ma clé était sur un champ unique, je pourrais mettre un
WHERE ANIMALDATE NOT IN (SELECT LOTDATE FROM LOTS)
mais avec deux champs dans la clé ?
merci d'avance
Roland[/b]