Ordre d'un DELETE CASCADE
Bonjour,
J'aimerai savoir si on peut contrôler l'ordre dans lequel SQL serveur gère les règles "ON DELETE CASCADE" lorsque qu'une table mère est liée à plusieurs tables filles elles-même liées entres elles.
Un exemple :
- Soit une table T0
- Soit une table T1 ayant une clé étrangère vers T0, avec suppression en cascade
- Soit une table T2 ayant une clé étrangère vers T0, avec suppression en cascade, et une clé étrangère vers T1, sans suppression en cascade.
Je souhaite supprimer une ligne de T0.
Normalement, grâce à mes cascades, SQL Server devrait supprimer les lignées liées dans les tables T1 et T2.
Deux scénario sont possible :
- Suppression de la ligne de T2
- Suppression de la ligne de T1
=> SUCCESS
- Suppression de la ligne de T1
=> ECHEC car T2 pointe vers T1
Donc ma question est : puis-je choisir l'ordre dans lequel SQL Serveur repercute les suppressions en cascade sur les tables filles ?
C'est un peu compliqué, j'espère que j'ai été assez clair !
Merci d'avance.