2012-07-31 6 views
1

DB2 버전 8 z/OS는 널 (NULL) 입력 가능 외래 키를 지원합니까?DB2 v8 Null 가능 외래 키

예를 들어 사람 테이블에서 수퍼바이저 테이블 (일부 사람에게는 수퍼바이저가없는)의 외래 키입니다.

답변

2

. 서적에 따르면, z/OS 용 DB2 v8에서 널 (NULL) 입력이 가능한 외부 키를 가질 수 있어야합니다. 삽입, 갱신를 참조하고, 는 이러한 세부 사항에 대한 규칙을 삭제 :

삽입 규칙 상위 테이블의 일부 상위 키 값과 일치해야합니다 외부 키의 널 (null)이 아닌 삽입 값입니다. 값의 컴퍼넌트가 null의 경우, 복합 외래 키의 값은 null가됩니다.

업데이트 규칙 외부 키의 Null이 아닌 업데이트 값은 부모 테이블의 부모 키의 일부 값과 일치해야합니다. 값의 컴퍼넌트가 null의 경우, 복합 외래 키의 값은 null로서 처리됩니다.

삭제 규칙 상위 테이블의 행을 삭제할 때 수행되는 작업을 제어합니다. 참조 제한 조건이 정의 될 때 수행되는 조치의 선택은 RESTRICT, NO ACTION, CASCADE 또는 SET NULL입니다. 외부 키의 일부 C 럼이 널 값을 허용하는 경우에만 SET NULL을 지정할 수 있습니다.

사이트 참조 : (널 (null)이 허용되는 것 또한주의) http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2.doc.sqlref%2Frcncrfi.htm

DB2의 V8 FOREIGN KEY 절 참조 : http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/c0004981.htm

1

그것을 시도보다에서 제거됩니다 문서를 연구하기 위해 빠른 것 IBM 웹 사이트는 2013 년 1 월 이후입니다.

여기에 CREATE TABLE 문에 대한 설명이 포함되어 있습니다.

참조 제한 조건의 외부 키는 식별 된 컬럼으로 구성됩니다. | 각 column-name은 LOB, ROWID 또는 보안 레이블 컬럼을 제외한 테이블의 컬럼을 식별하는 규정되지 않은 이름이어야하며 같은 컬럼은 두 번 이상 식별되어서는 안됩니다. 식별 된 컬럼의 수는 64를 초과해서는 안되며, 길이 속성의 합계가 255를 - 널값을 허용하는 컬럼 수를 초과하지 않아야합니다. FOREIGN KEY W 상위 테이블이 이전에 정의 된 참조 제한 조건의 FOREIGN KEY W 상위 테이블과 동일한 경우, 참조 제한 조건은 복제입니다. 중복 참조 제한 조건의 스펙은 경고와 함게 +시됩니다.

그렇기 때문에 외래 키에는 하나 이상의 null 허용 열이 포함될 수 있습니다.