To są najlepsze i najskuteczniejsze. W przypadku zapytań produkcyjnych użyłbym 2
.
Jedyne inne sposoby, o których mogę pomyśleć, to (IMO) nadające się tylko do szybkiego i brudnego usuwania danych w środowisku testowym (unikając konieczności analizowania prawidłowej kolejności)
- Wyłącz wszystkie FK, usuń żądane dane, a następnie ponownie włącz FK. Jest to nieefektywne, ponieważ należy je ponownie włączyć
WITH CHECK
aby uniknąć pozostawiania FK w stanie niezaufanym, co oznacza, że wszystkie zachowane dane muszą zostać ponownie zweryfikowane. - Wymień wszystkie
DELETE
instrukcji dotyczących tabel, których dotyczy problem, w dowolnej kolejności i uruchamiaj partię tyle razy, ile to konieczne, aż zakończy się pomyślnie bez błędów FK.