보통 DB2에서 테이블 생성 시 자동증가 컬럼 생성을 할 수 있다.
생성문은 대략 아래와 같다.
=======================================================================================
CREATE TABLE DONGBUCNI.TABSAMPLE (
COLUMN1 INTEGER NOT NULL GENERATED ALWAYS
AS IDENTITY (START WITH 1, INCREMENT BY 1, CACHE 20,
MINVALUE 0, MAXVALUE 2000000000, NO CYCLE, NO ORDER)
);

위와 같은 상황에서 데이터가 차곡차곡 쌓이며 운영을 하다가 별도의 테스트
테이블로 데이터 Loading 을 할 필요가 있을때 다음과 같은 주의 사항이 필요하다.
보통 일반적인 Load 문은 아래와 같다.

load from TABSAMPLE .ixf of ixf replace into DONGBUCNI.TABSAMPLE nonrecoverable

GENERATED 구성된 테이블에 위와 같이 일반적인 Load 방식으로 실행하게 되면 그컬럼값에
에러가 팍팍 떨어진다.

그럴경우 다음과 같은 modified 옵션을 통하여 Loading 을 하기 바란다.

load from TABSAMPLE .ixf of ixf modified by GENERATEDOVERRIDE replace into DONGBUCNI.TABSAMPLE nonrecoverable

modified by GENERATEDOVERRIDE 옵션은 아래와 같이 설명된다.
컬럼값의 시퀀스가 흐트러지지 않고 원본 그대로의 값으로 override 되는 옵션이다.


+ Recent posts