프로그래밍/ORACLE
[ORACLE] auto-increment 생성하기.
홍짱아아빠
2013. 12. 20. 13:09
반응형
작업중 자동 번호를 입력할 일이 생기게 되었다..
아.. MSSQL이나 MYSQL은 편한데.. ㅜㅜ
1.
CREATE SEQUENCE SEQ_DUAL MINVALUE 1 MAXVALUE 99999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE;
- SEQ_DUAL이라는 명의 시퀀스를 생성
- 최소값은 1이고 최대값은 99999999 이고,
- 시작숫자는 1이고 증가수는 1이다.
- cache는 20이고 NOORDER는(ORDER를 사용하면 요청되는 순서대로 값을 생성.)
- nocycle는 최대값에 도달한후 순환하지 않겠다. cycle는 순환을 하겠다.
2.
SELECT SEQ_DUAL.CURRVAL from dual;
- 현재 시퀀스의 번호를 확인한다.
3.
CREATE
OR REPLACE TRIGGER DUAL_1_TRIGGER
BEFORE INSERT
ON DUAL_1
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQ_DAUL.NEXTVAL INTO :NEW.ID_NUM FROM dual;
END;
- SEQ_DUAL이라는 시퀀스를 DUAL_1테이블의 ID_NUM이라는 컬럼에 자동적용되게 설정하는 트리거 생성.
4.
DUOP SEQUENCE seq_dual;
- 시퀀스 삭제.
반응형