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
- sklearn
- 빅데이터 분석 기사
- level 2
- 카카오
- 오라클
- Numpy
- python3
- SQL
- 데이터 분석
- 실기
- seaborn
- 파이썬
- 코딩테스트
- 알고리즘
- 머신러닝
- matplotlib
- oracle
- Python
- R
- 프로그래머스
- 빅분기
- Kaggle
- pandas
- 튜닝
- Oracel
- level 1
- 실습
Archives
- Today
- Total
라일락 꽃이 피는 날
[Oracle] Sequence (시퀀스) 본문
728x90
Sequence (시퀀스)
순서대로 번호를 생성하는 번호 생성기다.
왜 시퀀스가 필요한가? 부서 테이블에 새로운 부서 번호를 입력해야 하는데, 10번 단위로 부서 번호가 입력되고 있고 지금 40번까지 입력된 상태다. 그래서 다음으로는 50번을 입력해야 한다.
이럴 때 현업에서 사용하는 안 좋은 방법은 dept 테이블을 검색해서 최대 부서 번호가 무엇인지 확인하는 것이다.
예제 1. 시퀀스를 이용하여 10씩 자동으로 증가하는 번호 생성기 사용
create sequence dept_seq
start with 60
increment by 10;
시작 숫자를 60으로 하고 10씩 증가하는 번호를 생성하는 시퀀스다.
insert into dept
values(dept_seq.nextval, 'aaaa', 'bbbb');
위의 SQL을 실행할 때마다 10씩 증가하는 번호를 생성하면서 입력되고 있다.
예제 2. 시퀀스를 생성하고 절대로 번호가 중복되지 않는지 확인
create sequence seq1
start with 1
increment by 1
maxvalue 100;
select seq1.nextval from dual;
728x90
'프로그래밍 > Oracle' 카테고리의 다른 글
[Oracle] Flashback 기술 2 - Drop / Version Query (0) | 2022.06.10 |
---|---|
[Oracle] Flashback 기술 1 - Query / Table (0) | 2022.06.09 |
[Oracle] SQL 튜닝 (0) | 2022.06.09 |
[Oracle] Index (인덱스) (0) | 2022.06.09 |
[Oracle] View (뷰) (0) | 2022.06.09 |