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]