Dupliquer: Quand/Pourquoi pour utilisation en Cascade dans SQL Server?
J'ai toujours eu trop peur d'utiliser DELETE CASCADE, mais comme je suis plus à l'aise (lazy :D), je suis en train de penser comment mauvais peut-il être, est-il préférable de pratiquer l'utiliser ou dois-je l'éviter et de nettoyer mes clés étrangères etc à l'ancienne (avec des procédures stockées)?
- Quand et pourquoi utiliser Cascading dans SQL Server ? (5 réponses )
Réponses
Trop de publicités?On DELETE CASCADE est bien, mais seulement quand les lignes dépendantes sont vraiment une logique d'extension de la ligne à supprimer. Par exemple, son OK pour SUPPRIMER les COMMANDES pour supprimer les ORDER_LINES parce que clairement vous souhaitez supprimer cet ordre, qui se compose d'un en-tête et de quelques lignes. D'autre part, de SUPPRIMER le CLIENT ne doit pas supprimer les COMMANDES parce que les COMMANDES sont importants en eux-mêmes, ils ne sont pas seulement les attributs d'un client.
Une façon de penser à ce sujet est: si j'problème, SUPPRIMEZ X et il supprime aussi Y, vais-je être heureux ou malheureux? Et si j'problème, SUPPRIMEZ X et me dit "impossible de supprimer le X parce que Y existe" vais-je être content de la protection, ou irrité le problème?