Aby dodać „Kaskadowe usuwanie” do istniejącego klucza obcego w SQL Server Management Studio:
Najpierw wybierz swój klucz obcy i otwórz „DROP and Create To ..” w nowym oknie zapytania.
Następnie po prostu dodaj ON DELETE CASCADE
do ADD CONSTRAINT
polecenia:
I naciśnij przycisk „Wykonaj”, aby uruchomić to zapytanie.
Nawiasem mówiąc, aby uzyskać listę swoich kluczy obcych i zobaczyć, które z nich mają włączoną funkcję „Usuń kaskadę”, możesz uruchomić ten skrypt:
SELECT
OBJECT_NAME(f.parent_object_id) AS 'Table name',
COL_NAME(fc.parent_object_id,fc.parent_column_id) AS 'Field name',
delete_referential_action_desc AS 'On Delete'
FROM sys.foreign_keys AS f,
sys.foreign_key_columns AS fc,
sys.tables t
WHERE f.OBJECT_ID = fc.constraint_object_id
AND t.OBJECT_ID = fc.referenced_object_id
ORDER BY 1
A jeśli kiedykolwiek okaże się, że nie możesz DROP
określonej tabeli z powodu ograniczenia klucza obcego, ale nie możesz ustalić, który FK powoduje problem, możesz uruchomić to polecenie:
sp_help 'TableName'
SQL w tym artykule zawiera listę wszystkich FK, które odwołują się do określonej tabeli.
Mam nadzieję, że to wszystko pomoże.
Przepraszam za długi palec. Chciałem tylko coś powiedzieć.