constraint "fk_c2" FOREIGN KEY (c2) REFERENCES b(b2) ON DELETE CASCADE
이 부분이 틀렸다는 말입니다.
b2는 단독으로 사용되는게 아니라 b1과 함께 복합Key의 성격을 가지기 때문에 같이 기술을 해주든지, 아니면 b2자체만으로도 Unique한 값을 가진다면 추가로 Uique Index의 생성이 필요합니다.
>>으나 님께서 쓰시길<<
:: 제가 해봤던 방법은..
:: create table a (a1, a2),
:: constraint "pk_a" PRIMARY KEY (a1);
::
:: create table b (b1, b2 ),
:: constraint "pk_b" PRIMARY KEY (b1, b2),
:: constraint "fk_b" FOREIGN KEY (b1) REFERENCES a(a1)
::
:: create table c (c1, c2 ),
:: constraint "pk_c" PRIMARY KEY (c1, c2),
:: constraint "fk_c1" FOREIGN KEY (c1) REFERENCES a(a1) ON DELETE CASCADE,
:: constraint "fk_c2" FOREIGN KEY (c2) REFERENCES b(b2) ON DELETE CASCADE
:: )
::
:: 이렇게였거든여..
:: 일케 하믄
:: ORA-02270: 이 열목록에 대한 유일 혹은 일차 키가 일치하지 않습니다.
:: 요에러가 뜬다는 거거든여..
:: ^^
::
:: >>sllim 님께서 쓰시길<<
::
:: :: 참조를 하려면 b2가 primary key, 혹은 unique key로 되어 있어야 합니다.
:: :: b테이블의 b2는 primary key, 혹은 unique key로 되어 있어야만 가능합니다.
:: ::
:: :: >>으나 님께서 쓰시길<<
:: ::
:: :: :: a라는 테이블에 a1, a2가 있고..
:: :: :: b라는 테이블에 b1, b2가 있고
:: :: :: b1은 a1을 참조하는 foreign key이라면..
:: :: ::
:: :: :: c라는 테이블의 c1은 a테이블의 a1을 참조하고
:: :: :: c2는 b테이블의 b2를 참조할 수는 없나여?
:: :: ::
:: :: :: 계략적으로 적자면
:: :: :: create table a (a1 primary key, a2 );
:: :: :: create table b (b1, b2 ),
:: :: :: constraint foreign key b1 references a(a1);
:: :: :: create table c (c1, c2 ),
:: :: :: constraint foreign key c1 references a(a1),
:: :: :: constraint foreign key b2 references a(b2);
:: :: ::
:: :: :: 뭐 이런 식으로여.. ( 물론.. 문법은 엉망입니다만.. ㅡ.ㅡ)
:: :: ::
:: :: :: 요렇게 조롷게 해보았는데..
:: :: :: ORA-02270: 이 열목록에 대한 유일 혹은 일차 키가 일치하지 않습니다
:: :: :: 이런 에러두 나구..
:: :: :: 하루죙일 하구 있습니다..
:: :: ::
:: :: :: 아시는분.. 부탁드릴께여..ㅡ.ㅡ
:: :: ::
:: :: ::
|