Вы можете сделать что-то вроде этого:
create table tablewithrelevantdata unrecoverable as select * from tabletobedeleted where ....;
drop table tabletobedeleted;
rename tablewithrelevantdata to tabletobedeleted;
create index tabletobedeleted_idx1 on tabletobedeleted(c1,c2) unrecoverable parallel 5;
Поскольку у вас есть индексы, я дважды проверю, есть ли индексы в составных таблицах, например
- Студент
- Учитель
- Класс
Здесь Class
имеет идентификатор ученика и учителя в качестве первичного ключа. Важны индексы StudentId
и Teacherid
в Class
.
Также вы можете использовать delete как:
SET TRANSACTION USE ROLLBACK SEGMENT <test_segment>;
DELETE FROM tabletobedeleted WHERE <some_condition>
COMMIT;