Accueil > Non classé > Astuce SQL : ON DELETE CASCADE

Astuce SQL : ON DELETE CASCADE

SQL
Découvrons ensemble comment supprimer les données dans une table en cascade

Soit le modèle de données suivant:

SQL

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).

Loading

Categories: Non classé Tags:
  1. Pas encore de commentaire
  1. Pas encore de trackbacks


huit − 3 =