Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- PostgreSQL
- mysql
- isNotEmpty
- java
- Kibana
- isempty
- git
- pandas
- 명령어
- Python
- iBatis
- 티스토리챌린지
- MariaDB
- pem
- mssql
- SQL
- 자바
- Linux
- DBMS
- analytics4
- oracle
- 오블완
- github
- MongoDB
- IntelliJ
- spring
- docker
- 호이스팅
- Javascript
- 리눅스
Archives
- Today
- Total
hanker
Tibero - Sequence 만들기 본문
반응형
Tibero에서 시퀀스(Sequence)는 자동으로 증가하는 숫자를 생성하는 객체이다.
이번 글에서는 Sequence 생성 방법에 대해서 알아보자.
1.시퀀스 생성
CREATE SEQUENCE 시퀀스_이름
START WITH 시작값 -- 시퀀스의 시작값 (기본값: 1)
INCREMENT BY 증가값 -- 증가할 값 (기본값: 1)
MINVALUE 최소값 -- 최소값 설정 (기본값: 1)
MAXVALUE 최대값 -- 최대값 설정 (기본값: 999999999999999999999999999)
CYCLE | NOCYCLE -- CYCLE: 최대값 도달 시 다시 최소값으로 순환 (기본값: NOCYCLE)
CACHE 캐시크기 -- 성능 최적화를 위한 캐시 크기 (기본값: 20)
NOORDER | ORDER; -- 순차적 증가 보장 (ORDER), 보장하지 않음 (NOORDER, 기본값)
1-1. 기본적인 시퀀스 생성
CREATE SEQUENCE user_seq
START WITH 1
INCREMENT BY 1
NOCYCLE
CACHE 20;
- user_seq라는 시퀀스를 생성
- 1부터 시작하며 1씩 증가
- NOCYCLE : 최대값 도달 시 1부터 다시 시작하지 않음
- CACHE 20 : 성능 최적화를 위해 20개까지 미리 생성하여 캐싱
1-2. 특정 범위를 가지는 시퀀스
CREATE SEQUENCE order_seq
START WITH 1000
INCREMENT BY 5
MINVALUE 1000
MAXVALUE 9999
CYCLE
CACHE 10;
- 1000부터 시작하여 5씩 증가
- 최소값: 1000, 최대값: 9999
- CYCLE: 최대값을 넘으면 다시 최소값(1000)으로 돌아감
- CACHE 10: 성능 최적화를 위해 10개의 값을 캐시
2. 시퀀스 값 조회
2-1. 시퀀스 값 조회
SELECT order_seq.NEXTVAL FROM DUAL;
- NEXTVAL: 다음 시퀀스 값을 가져옴
SELECT order_seq.CURRVAL FROM DUAL;
- CURRVAL: 현재 시퀀스 값을 조회
- 주의: NEXTVAL을 한 번이라도 실행한 후에만 CURRVAL을 사용할 수 있음
3. 시퀀스를 사용하여 INSERT 실행
INSERT INTO users (id, name) VALUES (user_seq.NEXTVAL, '홍길동');
4. 시퀀스 변경 및 삭제
4-1. 시퀀스 변경 (ALTER SEQUENCE)
ALTER SEQUENCE order_seq
INCREMENT BY 10
MAXVALUE 20000
NOCYCLE;
- 증가값을 10으로 변경
- 최대값을 20000으로 변경
- 순환하지 않도록 NOCYCLE 설정
4-2. 시퀀스 삭제 (DROP SEQUENCE)
DROP SEQUENCE order_seq;
- order_seq 시퀀스 삭제
반응형
'DATABASE > SQL' 카테고리의 다른 글
SQL - 데이터 백업과 복구 방법 (0) | 2025.01.15 |
---|---|
SQL - 저장 프로시저(Stored Procedure, SP)란 무엇인가? 프로시저의 활용 방법 (0) | 2025.01.13 |
SQL - 트리거(Trigger)란 무엇인가? (0) | 2025.01.12 |
SQL - 각 데이터베이스 별 버전 확인 방법 ( MySQL / MSSQL / PostgreSQL / Oracle / MariaDB / MongoDB) (0) | 2025.01.11 |
SQL - 테이블 파티셔닝(Table Partitioning) (0) | 2025.01.10 |