Musisz zamienić instrukcję TRUNCATE na instrukcje DELETE, wolniejsze i zarejestrowane, ale jest to sposób na zrobienie tego, gdy istnieją ograniczenia.
DELETE mytablename;
Albo możesz znaleźć klucze obce, które odwołują się do danej tabeli i tymczasowo je wyłączyć.
select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||CONSTRAINT_NAME||';'
from user_constraints
where R_CONSTRAINT_NAME='<pk-of-table>';
Gdzie pk-of-table
to nazwa klucza podstawowego obcinanej tabeli
Uruchom dane wyjściowe powyższego zapytania. Gdy to zrobisz, pamiętaj, aby włączyć je ponownie, po prostu zmień DISABLE CONSTRAINT
w ENABLE CONSTRAINT