Для нахождения строк в таблице где строиться Foreign Key constraint, при котором возникает ошибка ORA-02298: cannot validate (SCOTT.EMP_FK_TEST) - parent keys not found необходимо выполнить следующие шаги:
1) Создать таблицу куда будут записываться все строки, для которых возникла ошибка
create table exceptions(row_id rowid,
owner varchar2(30),
table_name varchar2(30),
constraint varchar2(30));
2) Попробовать создать foreign key constraint с ключевыми словами "exceptions into exceptions"
Например,
ALTER TABLE emp ADD (
CONSTRAINT emp_fk_test
FOREIGN KEY (EMP_FK_T1)
REFERENCES dept (ID)
exceptions into exceptions);
3) Посмотреть все записи , для которых возникает ошибка
select * from exceptions;
4) Если удалить эти записи из дочерней таблицы ошибка исчезнет
Например,
delete from EMP where rowid in (select row_id from xxx_exceptions)
вторник, 17 ноября 2009 г.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий