Oracle
 sql >> Database >  >> RDS >> Oracle

Eliminazione di una tabella in Oracle SQL

Se sei davvero sicuro di voler eliminare la tabella anche se è referenziata in chiavi esterne, puoi forzarla in questo modo:

drop table state cascade constraints;

Questa sintassi è definita in il riferimento Oracle SQL .

Si noti che questo elimina qualsiasi relazione di chiave esterna. Quindi dovrai ricrearli dopo aver ricostruito la tabella (e la sua chiave primaria). Normalmente questo va bene perché il caso d'uso più comune consiste nel cestinare e ricreare gli schemi negli ambienti di sviluppo o CI.

Possiamo usare cascade constraints per semplificare la manutenzione dei nostri script di compilazione. Ci sono due alternative:

  1. Rilascia esplicitamente i vincoli di chiave esterna prima di eliminare le tabelle, con uno script o con SQL dinamico.
  2. Ordina le istruzioni DROPTABLE in modo che le tabelle dipendenti vengano prima zappate, insieme alle loro fastidiose chiavi esterne. Abbastanza facile per una manciata di tabelle, più doloroso con uno schema grande.