시퀀스란?
연속적인 일련번호를 만들어주는 기능 입니다~!! 순차적으로 수를 넣어줍니다~
특히 시작 값을 넣으면 1부터 시작하는 값을 넣어주는 것입니다.
문법
create sequence 시퀀스 이름
increment by n ------> 시퀀스 증가 값(기본 1), -1로 설정하면 감소하는 시퀀스임
start with 1 ------> 시퀀스 시작 값
maxvalue 100000 ------> 시퀀스 최대값(다른옵션 : nomaxvalue)
minvalue 1 ------> cycle일 경우 새로 시작되는 값(다른옵션 : nominvalue)
cycle ------> 시퀀스 번호 순환 설정 (다른옵션 : nocycle)
cache 10; ------> 시퀀스 생성 속도를 위한 캐싱 지정
문법에 cache부분이 있습니다.
이부분에 대하여 설명드리겠습니다.
만약 대량의 데이터가 한꺼번에 입력되는 경우
아주 짧은 시간이라 하더라고 시퀀스 실행속도가 약간의 대기 시간이 발생할 수 있습니다.
이때 미리 메모리상에 시퀀스 번호를 두고 사용하는 것 입니다.
시퀀스 생성
create sequence no_seq
increment by 1
start with 1
maxvalue 100000
minvalue 1
cycle
cache 10;
시퀀스 insert 테스트
insert into emp values(no_seq.nextval, 'ddd', 'dff', 5000);
위의 쿼리는 시퀀스의 다음값을 불러옵니다.
현재값은 no_seq.currval 로 확인가능 합니다.
시퀀스 삭제
drop sequence no_seq;
- 참고링크
오라클 시퀀스 - https://lee-mandu.tistory.com/485
'IT 관련,, > 데이터베이스(sql)' 카테고리의 다른 글
[DB/Oracle] ORA-01400: NULL을 ("SCOTT","BOARD","NO") 안에 삽입할 수 없습니다!! (4) | 2020.12.23 |
---|---|
[DB/Oracle] ORA-00907: missing right parenthesis!!! (0) | 2020.12.22 |
ora-12505, TNS:listener does not currently know of SID given in connect descriptor (2) | 2019.02.18 |
[SQL/Oracle]ora-28000, 계정이 잠금되었습니다~ (0) | 2018.09.19 |
[SQL/Oracle]무결성 제약조건이란~ (0) | 2018.09.17 |