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

Tronca la tabella in Oracle ottenendo errori

Devi scambiare l'istruzione TRUNCATE con le istruzioni DELETE, più lente e registrate, ma questo è il modo per farlo quando sono presenti i vincoli.

DELETE mytablename;

O quello o puoi trovare le chiavi esterne che fanno riferimento alla tabella in questione e disabilitarle temporaneamente.

select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||CONSTRAINT_NAME||';'
from user_constraints
where R_CONSTRAINT_NAME='<pk-of-table>';

Dove pk-of-table è il nome della chiave primaria della tabella da troncare

Eseguire l'output della query precedente. Fatto ciò, ricordati di abilitarli nuovamente, basta cambiare DISABLE CONSTRAINT in ENABLE CONSTRAINT