Astuce SQL : ON DELETE CASCADE
Découvrons ensemble comment supprimer les données dans une table en cascade
Soit le modèle de données suivant:
Si la clause On Delete Cascade n’a pas été spécifié lors de la création de la référence dans la table Visibilite, lors de la suppression d’un client, vous aurez erreur semblable à celle-ci :
The DELETE statement conflicted with the REFERENCE constraint "FK_VisibilitePage". The conflict occurred in database "Tuto", table "dbo.Visibilite", column 'ClientID'
Pour résoudre ce problème, nous devons:
1 Supprimer la clé référence de Client dans la table Visibilite
GO ALTER TABLE Visibilite DROP CONSTRAINT FK_VISIBILITE_CLIENT
2 Ajouter la référence (clé primaine ):
ALTER TABLE Visibilite ADD CONSTRAINT FK_VISIBILITE_CLIENT FOREIGN KEY( ClientID ) REFERENCES Client ( ClientID) ON DELETE CASCADE;
Résultat : Le delete en cascade s’est réalisé avec succès dans les tables concernées.
Bon à savoir:
ON DELETE CASCADE permet de réaliser des suppression en cascade (ON UPDATE CASCADE permet de réaliser des mis à jour en cascade).
Categories: Non classé
Commentaires récents