J'ai lu ceci à propos du mot-clé SQL DEFERRABLE
en Systèmes de bases de données - Le livre complet .
Ce dernier [NON REPORTABLE] est la valeur par défaut, et signifie que chaque fois qu'une instruction de modification de la base de données est exécutée, la contrainte est vérifiée immédiatement après, si la modification peut violer la contrainte de clé étrangère.
Cependant, si nous déclarons qu'une contrainte est DÉFERRABLE nous avons la possibilité d'attendre la fin d'une transaction avant de vérifier la contrainte.
Nous suivons le mot-clé DÉFERRABLE soit par INITIALEMENT REPORTÉ o DANS UN PREMIER TEMPS IMMÉDIAT . Dans le premier cas, la vérification sera reportée juste avant que chaque transaction ne soit validée. Dans le second cas, le contrôle sera effectué immédiatement après chaque déclaration.
Comment la NOT DEFERRABLE
différent de DEFERRABLE INITIALLY IMMEDIATE
? Dans les deux cas, il semble que les contraintes soient vérifiées après chaque déclaration individuelle.