2016-10-13 3 views
1

내가 Table1 (Name, Roll), B(ID, School) & C (ID, State)링크 하나의 키 조건부

Roll in Table 1

가 어떻게 B(ID) 또는 C(ID)-Table1(Roll)를 참조 않는 외래 키 세 개의 테이블이다습니까?

조건 Roll > 500 경우 것으로, 참조 B에해야하며 Roll <= 500 경우, 그것은 C

우리가 Table1을 수정할 수있는 경우 여러 참조를 생성하는 일반적인 방법은 무엇입니까를 참조해야입니까? 즉. 조건에 따라 모든 테이블 (A, B, .., X, Y, ...)의 Table1을 연결하십시오. SQL에서도 가능합니까?

추가 수정 : 필요하지 않습니다, 그냥 참조해야합니다.

+0

수 없습니다. 특정 FK는 단 하나의 테이블에 대한 것입니다. 복합 외래 키 *를 구현할 수 있습니다. 그러나 – Drew

+0

@Drew : 복합 외래 키는 어떻게 구현합니까? – FlyingAura

+0

나는이 서치 [Here] (http://stackoverflow.com/questions/tagged/mysql+foreign-keys+composite)에서 본 네 개 중 2 ~ 3 개를 쓴 것으로 생각한다. 아마 그들은 유용 할 수 있습니다. 그들은 확실히 불면증을 치료할 수 있습니다. – Drew

답변

-1

t-sql/pl-sql을 사용하는 경우 가장 적합한 방법은 적절한 테이블을 사용하여 참조 할 수있는 함수 및/또는 조건을 만드는 것입니다. 당신이하고자하는 것과 당신이하고있는 것에 대해 더 자세히 설명해주십시오.

+0

나는 MySQL과 함께 일하고있다. 표 1에서 B, C까지 여러 참조를 수행해야합니다. Roll> 500 & C가 Roll <= 500 인 경우 참조는 Table1에서 B까지이어야합니다. – FlyingAura