Du måste byta ut TRUNCATE-satsen mot DELETE-satser, långsammare och loggade, men det är så man gör det när begränsningar finns på plats.
DELETE mytablename;
Antingen det eller så kan du hitta de främmande nycklarna som refererar till tabellen i fråga och inaktivera dem tillfälligt.
select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||CONSTRAINT_NAME||';'
from user_constraints
where R_CONSTRAINT_NAME='<pk-of-table>';
Var pk-of-table
är namnet på primärnyckeln för tabellen som trunkeras
Kör utdata från ovanstående fråga. När detta har gjorts, kom ihåg att aktivera dem igen, bara ändra DISABLE CONSTRAINT
till ENABLE CONSTRAINT