반응형
작업중 자동 번호를 입력할 일이 생기게 되었다..
아.. 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;
- 시퀀스 삭제.
반응형
'프로그래밍 > ORACLE' 카테고리의 다른 글
[ORACLE] INSERT SELECT (0) | 2015.04.09 |
---|---|
[ORACLE] UPDATE SELECT (0) | 2015.04.09 |
[ORACLE] SESSION KILL (0) | 2013.12.20 |
[ORACLE] LPAD and INSTR (0) | 2011.08.09 |
[ORACLE] decode (0) | 2011.07.22 |