|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : août 2005 Messages : 346 ![]() |
Bonjour,
je cherche à créer des références d'intégrité avec les clés étrangères, j'ai fait plusieurs tests et j'ai du mal comprendre la différence entre et sur la contrainte de clé étrangère suivante: Code :
Selon la contrainte (restrict, no action et cascade), j'ai tenté de supprimer la demande (avec des chantiers liés) ou les chantiers liés sans toucher à la demande. Lorsque j'utilise NO ACTION ou RESTRICT: - impossible de supprimer la demande 8 si les chantiers 4 et 6 existent. - je peux supprimer les chantiers 4 et 6, la demande 8 n'est pas supprimée. Avec CASCADE: - supprimer la demande 8 supprime les 2 chantiers liés 4 et 6. - je peux supprimer les chantiers 4 et 6, la demande 8 n'est pas supprimée. Ma question est la suivante: quelle différence entre RESTRICT et NO ACTION ? Ce message fait suite à mon précédent sans réponse... |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Bonjour,
La seule différence est assez subtile : NO ACTION peut être différé (la vérification de la contrainte peut être effectuée à la fin de la transaction) tandis qu'avec RESTRICT ce n'est pas possible (une erreur sera levée à la première instruction SQL violant la contrainte).
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : août 2005 Messages : 346 ![]() |
Merci GrandFather
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com