J'ai un tableau représentant les utilisateurs. Lorsqu'un utilisateur est supprimé, j'obtiens:
L'instruction DELETE est en conflit avec la contrainte REFERENCE
Apparemment, CASCADE DELETE
n'est pas aussi simple que je l'imaginais dans SQL Server, et l'option doit être ajoutée à la table.
Le problème est le suivant: je ne sais pas comment ajouter le CASCADE DELETE
option.
J'utilise: SQL Server 2008. Des idees pour faire cela?
Lisez d'abord cet article Microsoft. Lisez-moi . J'utilise l'interface graphique lors de la conception, voici donc une image de la façon dont elle est sélectionnée dans SSMS. La syntaxe ajoutée à la clé étrangère est "ON DELETE CASCADE"
Google ALTER TABLE DROP CONSTRAINT
, puis ALTER TABLE ADD CONSTRAINT
:
Voici un petit exemple:
CREATE TABLE A
(
ID INTEGER NOT NULL UNIQUE
);
CREATE TABLE B
(
ID INTEGER NOT NULL UNIQUE
CONSTRAINT fk__B__A
REFERENCES A (ID)
);
-- Oops! Forgot the CASCADE referential actions.
-- DROP the constraint then recreate it:
ALTER TABLE B DROP
CONSTRAINT fk__B__A;
ALTER TABLE B ADD
CONSTRAINT fk__B__A
FOREIGN KEY (ID)
REFERENCES A (ID)
ON DELETE CASCADE
ON UPDATE CASCADE;
Voici la façon dont j'ajouterais la fonctionnalité "suppression en cascade" à une clé étrangère existante dans SQL Server Management Studio.
Tout d'abord, recherchez votre clé étrangère et ouvrez-la "DROP and CREATE To" dans une nouvelle fenêtre de requête.
Ensuite, ajoutez simplement "ON DELETE CASCADE
" à la "ADD CONSTRAINT
"commande:
Ensuite, appuyez simplement sur le bouton "Exécuter" pour exécuter la requête.
Travail accompli !