Hvis du virkelig er sikker på, at du vil droppe tabellen, selvom der er refereret til den i fremmednøgler, kan du tvinge den sådan her:
drop table state cascade constraints;
Denne syntaks er defineret i Oracle SQL Reference a> .
Bemærk, at dette fjerner eventuelle fremmednøglerelationer. Så du bliver nødt til at genskabe dem, efter du har genopbygget tabellen (og dens primære nøgle). Normalt er dette okay, fordi det mest almindelige tilfælde er at kassere og genskabe skemaer i udviklings- eller CI-miljøer.
Vi kan bruge cascade constraints
for at gøre vores byggescripts nemmere at vedligeholde. Der er to alternativer:
- Slet eksplicit begrænsningerne for fremmednøgle, før du sletter tabellerne, enten med et script eller med dynamisk SQL.
- Bestil DROPTABLE-sætningerne, så afhængige tabeller zappes først sammen med deres irriterende fremmednøgler. Nemt nok til en håndfuld tabeller, mere smertefuldt med et stort skema.