어흥
[Oracle] Sequence 본문
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