Sequence ( Autonumber )
In Oracle, you can create an autonumber field by using sequences. A sequence is an object in Oracle that is used to generate a number sequence. This can be useful when you need to create a unique number to act as a primary key.
- 순차적으로 증가하는 순번 필드
- PK값이 중복되지 않도록 할 때 유용함
[ 문법 ]
CREATE SEQUENCE [ 시퀀스 이름 ]
INCREATE BY [ 증가값 ]
START WITH [ 시작값 ]
MAXVALUE [ 최대값 ] | NOMAXVALUE
MINVALUE [ 최소값 ] | NOMINVALUE
CYCLE | NOCYCLE
CACHE | NOCACHE
[ 예시 ]
-- 100부터 시작해서 110까지 1씩 증가하며, 99부터 순회하는 시퀀스
CREATE SEQUENCE seq_serial_no
INCREMENT BY 1
START WITH 100
MAXVALUE 110
MINVALUE 99
CYCLE
CACHE 2;
[ 활용 ]
-- goods 테이블 생성
CREATE TABLE goods(
good_no number(3),
good_name varchar2(10)
);
-- 다음 시퀀스 번호로 '제품1' insert ( 처음이니까 100 )
INSERT into goods
VALUES (seq_serial_no.nextval, '제품1');
COMMIT;
-- 현재 시퀀스 번호로 '제품1' insert
INSERT into goods
VALUES (seq_serial_no.currval, '제품1');
-- 다음 시퀀스 번호로 '제품2' insert
INSERT into goods
VALUES (seq_serial_no.nextval, '제품2');
'SQL' 카테고리의 다른 글
[Oracle Error] Got minus one from a read call (0) | 2020.06.14 |
---|---|
[Oracle] PL/SQL ( Procedural Language for SQL ) (0) | 2020.06.14 |
[Oracle] 계층형 쿼리 ( Hierarchical Queries ) (0) | 2020.06.07 |
[Oracle] docker sysdba 접속 (0) | 2020.06.07 |
Oracle 기본 함수 :: 날짜함수, 변환함수, decode, case (0) | 2020.05.17 |