A 와 B 테이블을 UNION JOIN 해서 VIEW 를 하나 만들었습니다.
만든 뷰에 ADD CONSTRAINT 해서 PK를 추가했구요.
만든 PK를 D라는 테이블에 외래 키로 지정하려는데 ORA-02270 에러가 계속 뜨네요.
<쿼리>
//(뷰 생성)
CREATE VIEW pre_view
AS select i.ins_code as code, i.ins_name as name, i.pay_state as pay_state from inspection i
union
select m.me_code as code, m.me_name as name, m.insurance_stat as pay_state from medicine m
order by 1 desc;
//(뷰에 PK 달기)
alter view pre_view add constraint primary key(code) disable;
// (D 테이블 생성)
fmi_id NUMBER,
acc_id NUMBER,
vcode varchar2(26),
unit VARCHAR2(20),
amount number,
count NUMBER,
duration NUMBER,
fin_date date,
CONSTRAINT pk_fmi PRIMARY KEY(fmi_id),
CONSTRAINT fk_fmi_acc FOREIGN KEY(acc_id) REFERENCES accept(acc_id),
CONSTRAINT fk_fmi_view FOREIGN KEY(vcode) REFERENCES pre_view(code)
<에러내용>
ORA-02270: 이 열목록에 대해 일치하는 고유 또는 기본 키가 없습니다.
02270. 00000 - "no matching unique or primary key for this column-list"
*Cause: A REFERENCES clause in a CREATE/ALTER TABLE statement
gives a column-list for which there is no matching unique or primary
key constraint in the referenced table.
*Action: Find the correct column names using the ALL_CONS_COLUMN
아시는 분 부탁좀 드릴게요~
|