어흥

[Oracle] Sequence 본문

Oracle

[Oracle] Sequence

라이언납시오 2020. 7. 22. 10:07
728x90
반응형

1. 정의

- DB Object 중 하나로, 식별자들을 관리하기 편하도록 기능 제공

- 목적으론, 중복되지 않는 숫자를 반환하며 삭제 or 수정하여 중간에 값이 비게 될 수도 있다

 

2. 생성, 수정, 삭제

[생성]

CREATE SEQUENCE SEQ		--SEQ: 사용할 시퀀스명
START WITH 1			--1부터 시작
INCREMENT BY 1;			--1씩 증가

위에 사용한 초기설정말고도 MAXVALUE, MINVALUE, CYCLE, CACHE 등 여러가지가 존재한다

 

[수정]

ALTER SEQUENCE SEQ
INCREMENT BY 2;			--증가값을 2로 변경

이외에도 MAXVALUE, MINVALUE, CYCLE, CACHE 모두 변경 가능하다.

단! 초기값은 변경하지 못한다


[삭제]

DROP SEQUENCE SEQ;		--SEQ 시퀀스 삭제

 

3. Nextval 사용

- 현재 시퀀스 사용: SEQ.CURRVAL

- 다음 시퀀스 사용: SEQ.NEXTVAL(자동 1씩 증가)

 

4. 자바에서 Nextval 사용

[Statement일 때]

sql = "INSERT INTO CUSTOMER (SEQ, NAME, ADD, PNUM) VALUES(SEQ.NEXTVAL+ '"+name+"',"+age+",'"+add+"')";

[PreparedStatement일 때]

sql = "INSERT INTO CUSTOMER(SEQ,NAME,ADD,PNUM) VALUES(SEQ.NEXTVAL,?,?,?)";
 

728x90
반응형

'Oracle' 카테고리의 다른 글

[Oracle] MERGE INTO  (0) 2020.08.04
[Oracle] Index  (0) 2020.07.09
[Oracle] Plan  (0) 2020.07.09
[Oracle] SQL (DDL, DML)  (1) 2020.07.07
Comments