2014년 4월 24일 목요일

Oracle 에서 트리거(trigger)를 이용한 열 자동증분(auto increment) 기능 구현


CREATE TABLE T_API_AUTH
    (
     SEQ NUMBER (5)  NOT NULL ,
     KEY VARCHAR2 (20)  NOT NULL ,
     TITLE VARCHAR2 (200) ,
     IPS VARCHAR2 (2000) ,
     MEMO VARCHAR2 (4000)
    )
;

COMMENT ON TABLE T_API_AUTH IS 'API 인증 정보'
;

COMMENT ON COLUMN T_API_AUTH.SEQ IS '순번'
;
COMMENT ON COLUMN T_API_AUTH.KEY IS '인증키'
;
COMMENT ON COLUMN T_API_AUTH.TITLE IS '제목'
;
COMMENT ON COLUMN T_API_AUTH.IPS IS '인증IP들'
;
COMMENT ON COLUMN T_API_AUTH.MEMO IS '메모'
;
CREATE UNIQUE INDEX T_API_AUTH_KEY_INDEX ON T_API_AUTH
    (
     KEY ASC
    )
;
ALTER TABLE T_API_AUTH
    ADD CONSTRAINT T_API_AUTH_PK PRIMARY KEY ( SEQ ) ;

CREATE SEQUENCE T_API_AUTH_SEQ_SEQ
    NOCACHE
    ORDER ;
CREATE OR REPLACE TRIGGER T_API_AUTH_SEQ_TRG
BEFORE INSERT ON T_API_AUTH
FOR EACH ROW
WHEN (NEW.SEQ IS NULL)
BEGIN
    SELECT T_API_AUTH_SEQ_SEQ.NEXTVAL INTO :NEW.SEQ FROM DUAL;
END;

댓글 없음:

댓글 쓰기