comment nous supprimons une ligne de la table parent lorsque la table enfant est connectée avec la table paren par la key forigen

Salut à tous je reçois un problème pendant que j'interrompre pour supprimer une ligne de la table parent, actuall j'ai créé 2 table custmer et account.i faire id de cutomer (key primaire) dans client et client id (key forigen) dans le count.après créé J'ai rempli datatables dans les deux arrays. à ce stade, alors que j'essaie de supprimer une ligne de la première table (client), puis il donne un message d'échec est qu'il ne peut pas être supprimé bcs il est réfréné comme key forigen quelque chose comme ça ……… … mais pendant que nous supprimons la ligne de la table des counts, la suppression est complète. ……. je veux fonctionner comme ça si je supprime une ligne de la table parent (client) puis sa table enfant dans cette ligne qui a le même identifiant client (table de count) est supprimer automatiquement ……. …..

attention aux suppressions de cascade! un user cliquera accidentellement sur la petite icône de la corbeille de l'application et effacera le client, puis toutes les cascades supprimeront toute trace de ce client, commands, factures, paiements, historique, etc. de votre database. Après que l'user vous appelle pour vous parler de sa petite erreur, vous devrez restaurer une sauvegarde et essayer de récupérer les informations dans la database.

Je regarderais dans "les suppressions molles" où vous changez seulement le statut du client de "actif" à "inactif". les lignes ne sont pas supprimées, conservant toutes datatables de key étrangères. Cela permet aux rapports de s'exécuter sur datatables, car elles existent toujours, ainsi qu'un "annuler" facile.

Les suppressions logicielles ne sont pas la seule façon de procéder, c'est une décision commerciale sur la façon de gérer cela, de purger datatables ou de les marquer comme inactives. C'est seulement quelque chose que vous pouvez décider, parce que je ne connais pas votre application ou votre logique métier. Je pensais juste que je l'offrirais comme une alternative.

Vous devez configurer la key étrangère avec on delete cascade pour y parvenir.

Pour SQL Server 2008, voir l'article Contraintes d'intégrité référentielle en cascade

Éditer Juste pour append un avertissement de santé quelque peu redondant, vous devez savoir que l'ajout on delete cascade signifie que lorsque vous supprimez la ligne de la table parent, les lignes associées de la table enfant seront supprimées. Cependant, comme c'est exactement le comportement que vous indiquez que vous voulez, je ne peux pas voir que ce serait un problème.