account 에 여러 자료 입력 후
account에서 다시 bcode(code)를 참조해서 참조키 연결 시 문제
(이어지지 않습니다.)
--> EXCEPTION table을 이용해봅시다.
** 아마도 foreign key 자체가 성립이 되지 않다보니까
exception에도 아예 들어가지 않았나봅니다.
수정 --> 위 실습 때는 exceptions into exceptions 를 적어주지 않아서,
exception안에 오류난 값들이 들어가지 않았고,
실제로는
쿼리 마지막에 exceptions into exceptions 라고 추가해주면 exceptions테이블에
오류난 부분이 들어가게 됩니다.
차선책(자료를 비교)
SQL> insert into account(code) values('WOW'); << bcode(code)에는 없는 자료입니다. SQL> commit; SQL> alter table account 2 add constraint account_code_fk 3 foreign key(code) 4 references bcode(code); add constraint account_code_fk * ERROR at line 2: ORA-02298: cannot validate (KOO.ACCOUNT_CODE_FK) - parent keys not found
(이어지지 않습니다.)
--> EXCEPTION table을 이용해봅시다.
EXCEPTION table 생성 후 확인 SQL> @?/rdbms/admin/utlexcpt.sql Table created. SQL> alter table account 2 add constraint account_code_fk 3 foreign key(code) 4 references bcode(code); add constraint account_code_fk * ERROR at line 2: ORA-02298: cannot validate (KOO.ACCOUNT_CODE_FK) - parent keys not found SQL> select rowid, code from account 2 where rowid in(select row_id from exceptions); no rows selected SQL> select * from exceptions; no rows selected
** 아마도 foreign key 자체가 성립이 되지 않다보니까
exception에도 아예 들어가지 않았나봅니다.
수정 --> 위 실습 때는 exceptions into exceptions 를 적어주지 않아서,
exception안에 오류난 값들이 들어가지 않았고,
실제로는
쿼리 마지막에 exceptions into exceptions 라고 추가해주면 exceptions테이블에
오류난 부분이 들어가게 됩니다.
차선책(자료를 비교)
SQL> set heading off SQL> spool bcode_code.txt SQL> select code from bcode order by 1; DG HK KB WOO SQL> spool off SQL> spool account_code.txt SQL> select distinct code from account order by 1; DG KB WOW SQL> spool off
하면 해당 결과들이 각 파일에 저장됩니다.
이후 각각의 파일들을 약간 편집 후
vi -d account_code.txt bcode_code.txt 하여 두파일을 비교해서 table을 수정하시기 바랍니다.
(vi 안에서 창 변환 Ctrl+W)
(vi 안에서 창 변환 Ctrl+W)
'참고글 및 문제해결 > 문제해결' 카테고리의 다른 글
ORA-38760: This database instance failed to turn on flashback database (0) | 2012.02.26 |
---|---|
RMAN-20035: invalid high recid (0) | 2012.02.23 |
Flashback 하지 못하는 상황 (0) | 2012.02.20 |
SP2-1503, SP2-0152 error (0) | 2012.02.20 |
snapshot too old(ORA-01555) (0) | 2012.01.26 |