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
- ORACLE 기초
- docker 소개
- DB
- 깃허브
- java 기초
- 마크다운
- 쿠버네티스 기본 개념
- 데이터베이스
- DDL
- github
- view
- 정보처리기사
- 기본 API
- mybatis
- 기초 선택자
- docker
- 쿠버네티스
- DB 모델링
- java
- Flutter
- 프로그래밍 기초
- SQL
- VS Code
- dql
- oracle
- 웹개발 기초
- 필기
- 도커
- MVC 패턴
- DB 개요
Archives
- Today
- Total
핑구
10. SEQUENCE 본문
📅 2021.09.27
SEQUENCE
- 순차적으로 정수 값을 자동으로 생성하는 객체로 자동 번호 발생기 역할을 한다. 글을 작성하는 경우 등 해당 열을 구분하는 고유 번호가 있어야 하는데, 이 고유 번호를 생성하는 용도로 주로 사용한다.
- 표현식
CREATE SEQUENCE 시퀀스명
① [START WITH 숫자] : 처음 발생시킬 시작 값, 기본값 1
② [INCREMENT BY 숫자] : 다음 값에 대한 증가치, 기본값 1
③ [MAXVALUE 숫자 | NOMAXVALUE] : 발생시킬 최대값, 10의 27승-1까지 가능
④ [MINVALUE 숫자 | NOMINVALUE] : 발생시킬 최소값, -10의 26승
⑤ [CYCLE | NOCYCLE] : 시퀀스가 최대값까지 증가 완료 시 CYCLE은 START WITH설정 값으로 돌아가지만 NOCYCLE는 에러가 발생한다.
⑥ [CACHE | NOCACHE] : CACHE는 메모리 상에서 시퀀스 값을 관리, 기본값 20, 설정하지 않는 경우 기본 값이 20이기 때문에 어느 순간 20이 증가하기도 하므로 설정하는 것이 좋다. - 사용자 생성 시퀀스 확인 방법
SELECT * FROM USER_SEQUENCES; - 시퀀스 사용
- 시퀀스명.CURRVAL: 현재 생성된 시퀀스 값을 반환한다. 이는 NEXTVAL에 의해 마지막으로 리턴된 값이기 때문에 임시 값이다. 따라서 처음에 CURRVAL을 실행하는 경우 최초 값이 존재하지 않기 때문에 에러가 발생한다.
- 시퀀스명.NEXTVAL: 시퀀스를 증가시키거나 최초로 시퀀스를 실행시키는 역할을 한다.
- NEXTVAL/CURRVAL 사용 가능 여부
- 시퀀스 변경 시 ALTER를 사용하여 변경하며, CREATE 시 사용한 옵션을 변경 가능하다. 단, START WITH는 변경 불가능하기 때문에 해당 부분을 변경하기 위해서는 DROP 후 다시 생성하여야 한다.
'JAVA 웹 개발 > 2. Oracle' 카테고리의 다른 글
11. PL/SQL (0) | 2022.08.13 |
---|---|
09. VIEW (0) | 2022.08.13 |
08. DDL(ALTER, DROP) (0) | 2022.08.13 |
07.DML(INSERT, UPDATE, DELETE) (0) | 2022.08.13 |
06. DDL(CREATE) (0) | 2022.08.13 |