2016-12-20 6 views
0

제조 회사의 다른 시설 주소가있는 주소록이 있습니다. 외래 키를 사용하면 주소가 속한 회사를 알 수 있지만 각 시설을 구별하기 위해 대리 ID가 필요합니다. 이 ID는 외래 키 값에 따라 자동으로 증가합니다. 참고 : 키에 간단한 정수 값만 있으면됩니다.DB2의 외래 키와 관련하여 열을 자동으로 증가시키는 방법이 있습니까?

예 :

내 테이블 ORGANIZATION_ID는 외래 키, 다음과 같은 열이 있습니다. FACILITY_ID는 외래 키에 종속 된 두 번째 대리 키입니다.

 ADDRESS_TABLE 
    ->ORGANIZATION_ID 
    ->FACILITY_ID 
    ->ADDRESS_LINE_1 
    ->ADDRESS_LINE_2 
    ->CITY 
    ->STATE 
    ->ZIP_CODE 

나는 시설 ID가 조직 ID에 따라 1에서 자동으로 증가합니다.

ORGANIZATION_ID 1 
    FACILITY_ID 1 

나는 새로운 조직에 대한 데이터를 삽입 즉

이 시설은 1

ORGANIZATION_ID 2 
    FACILITY_ID 1 

에서 내가 같은 조직에 데이터를 삽입 다음에 시작해야, 내 시설 ID는 이에 따라 증가한다 -

ORGANIZATION_ID 1 
    FACILITY_ID 2 

DB2에서이 작업을 수행 할 수있는 방법이 있습니까? 현재 DB2 V 10.5.6에 있음

+0

@ Esperento57 다시 질문을 올렸습니다. 내 빡빡한 일정 .. 죄송합니다 .. – Ash

+1

사이에 게시했습니다 왜 그것을하고 싶어? 테이블 ADDRESS_TABLE을 기본 키로 사용하여 열 자동 증가를 생성하면 모든 테이블에 기본 키가 있어야합니다. 단결과 무결성을위한 그것의 충분 – Esperento57

답변

1

아니오 자동 증가 또는 DB2에서 호출하는 ID 키는 복합 키를 지원하지 않습니다.

당신이 할 수있는 가장 좋은 값을 할당 처리 할당 트리거를해야 할 것입니다. 아마도 SEQUENCE; 각각의 새 조직의 기능에 사용할 새 시퀀스를 만들어야합니다.