Bonjour.

J'aimerais pouvoir définir une contrainte différée (comme sous Oracle) afin de permettre la saisie de données temporairement invalides. Par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
CREATE TABLE Test
(
ID INT PRIMARY KEY,
ID_PERE NULL REFERENCES Test(ID)
);
Je voudrais pouvoir saisir des données du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
BEGIN TRANSACTION;
INSERT INTO Test VALUES(1,3); -- 3 n'existe pas encore
INSERT INTO Test VALUES(2,3); -- 3 n'existe pas encore
INSERT INTO Test VALUES(3,NULL); --3 est maintenant créé
END TRANSACTION;
Je souhaiterais que le test de la contrainte ne se fasse qu'au moment où je termine ma transaction.

Est-ce que quelqu'un aurait une idée sur la question ?

Merci d'avance.
Rémi.