흐르는 시간의 블로그...

테이블 생성을 하는데 인덱스를 사용하여 PK 설정을 하는 과정에서 해당 에러가 발생 했다.

별 내용 없으니 전체 쿼리를 올린다.

CREATE TABLE UBIKHANS.TBL_ECO_FMUINFO
(
    CARNO                NUMBER(8) NOT NULL ,
    REPOTIME             NUMBER(8) NOT NULL ,
    FMU_VERSION          NUMBER(8) NULL 
)
NOLOGGING
NOCOMPRESS 
NOPARALLEL
NOMONITORING;

COMMENT ON TABLE UBIKHANS.TBL_ECO_FMUINFO IS 'FMU2의 버전 정보와 관련 정보를 저장하는 테이블이다';
COMMENT ON COLUMN UBIKHANS.TBL_ECO_FMUINFO.CARNO IS '차량 번호';
COMMENT ON COLUMN UBIKHANS.TBL_ECO_FMUINFO.FMU_VERSION IS 'FMU2의 버전 값';
COMMENT ON COLUMN UBIKHANS.TBL_ECO_FMUINFO.REPOTIME IS '보고 시각';

CREATE UNIQUE INDEX UBIKHANS.ECO_FMUINFO_IDX01 ON UBIKHANS.TBL_ECO_FMUINFO (CARNO ASC, REPOTIME ASC) NOLOGGING;
ALTER TABLE UBIKHANS.TBL_ECO_FMUINFO ADD CONSTRAINT ECO_FMUINFO_PK PRIMARY KEY (CARNO, REPOTIME) USING INDEX UBIKHANS.ECO_FMUINFO_IDX01;
ALTER TABLE UBIKHANS.TBL_ECO_FMUINFO ADD (CONSTRAINT ECO_FMUINFO_FK01 FOREIGN KEY (CARNO) REFERENCES UBIKHANS.TBL_ECO_SERVICE (CARNO) ON DELETE CASCADE);

위에서 강조한 코드에서 (CARNO ASC, REPOTIME ASC)를 사용하지 않고 (CARNO ASC, REPOTIME DESC)를 사용하면 해당 에러를 발생 시킨다.

자세한 것은 좀 더 조사해서 붙여보도록 한다.