Det er de bedste og mest effektive. Til produktionsforespørgsler ville jeg bruge 2
.
De eneste andre måder, jeg kan komme i tanke om, ville (IMO) kun være egnet til hurtig og beskidt fjernelse af data i et testmiljø (undgå behovet for at analysere den korrekte rækkefølge)
- Deaktiver alle FK'er, slet de ønskede data, og aktiver derefter FK'erne igen. Dette er ineffektivt, da de skal genaktiveres
WITH CHECK
for at undgå at efterlade FK'erne i en tilstand, der ikke er tillid til, hvilket betyder, at alle bevarede data skal genvalideres. - Læs alle
DELETE
sætninger på berørte tabeller i vilkårlig rækkefølge og kør batchen så mange gange som nødvendigt, indtil det lykkes uden FK-fejl.