개발합니다
[Oracle] Sequence 사용법 본문
MySql → auto_increment로 값 자동 증가
Oracle → Sequence 생성해서 값을 증가 시켜줘야 한다.
1. 예제 테이블 생성
CREATE TABLE test(
num NUMBER,
name VARCHAR2(50)
);
2. 100까지 1씩 증가시키는 시퀀스 생성
CREATE SEQUENCE test_seq START WITH 1 INCREMENT BY 1 MAXVALUE 100 CYCLE NOCACHE;
-시퀀스 속성 설명
CREATE SEQUENCE “스키마명.시퀀스명”
MINVALUE -- 시퀀스가 시작되는 최초의 숫자
MAXVALUE --시퀀스가 끝나는 최대 숫자
INCREMENT BY -- 시퀀스가 증가되는 단위
START WITH -- 시퀀스 생성이 시작되는 값
NOCACHE -- 캐시를 사용하지 않음
NOORDER --요청되는 순서대로 값을 생성하지 않음
NOCYCLE --초기값부터 다시 시작하지 않음
3. NEXTVAL 사용
INSERT INTO test (num, name) VALUES (test_seq.nextval, 'aaa');
INSERT INTO test (num, name) VALUES (test_seq.nextval, 'bbb');
4. 시퀀스 현재 값 확인
SELECT last_number
FROM user_sequences
WHERE sequence_name = '시퀀스 이름';
'Web > DB' 카테고리의 다른 글
[Oracle] 테이블 컬럼 추가, 수정, 삭제, 이름 변경 (0) | 2022.03.29 |
---|---|
[Oracle] ROWNUM 사용법 (0) | 2022.03.25 |
[Oracle] SQL 함수 정리 (0) | 2022.03.23 |
[Oracle] 프로시저(Procedure), 커서(Cursor) (0) | 2022.03.23 |
[Oracle] DECODE, CASE WHEN (0) | 2022.03.23 |