티스토리 뷰

database/db

[oracle] 시퀀스(Sequence)

그루아트 2020. 4. 4. 18:29

1.시퀀스

시퀀스는 테이블에 있는 기본키 값을 생성하기 위해 사용되는 독립적인 객체이다.

독립적이라는 말은 시퀀스가 테이블에 종속되지 않음을 의미한다.

하나의 시퀀스를 여러개의 테이블에 동시에 사용할 수 있다.


-.시퀀스 생성

CREATE SEQUENCE HR.COL_SEQ

MINVALUE 0 /* 최소값 */

MAXVALUE 99999999999 /* 최대값 */

INCREMENT BY 1 /* 증가값 */

START WITH 1 /* 시작값(MINVALUE+START WITH 부터 시작한다.) */

[NOCACHE | CACHE] /* 동시 사용자가 많을 경우 미리 값을 할당 해놓을지 여부 */

[NOORDER | ORDER] /* 요청 순서대로 값을 생성할지 여부 */

[NOCYCLE | CYCLE] /* 시퀀스 값이 최대값을 초과했을 경우 초기값부터 다시 시작할지 여부 */


-.시퀀스 삭제

DROP SEQUENCE스키마명.시퀀스명


-.시퀀스 의사컬럼 사용

시퀀스명.CURRVAL : 현재 시퀀스의 값

시퀀스명.NEXTVAL : 다음에 생성될 시퀀스 값

단, NEXTVAL 의사컬럼은 SQL문에서 사용될 때마다 자동 증가된다.(조회든지 뭐든지)


-.사용 예제

CREATE TABLE TEST

(

COL NUMBER(7),

CONSTRAINT PK_COL PRIMARY KEY(COL)

);

INSERT INTO TEST VALUES(COL_SEQ.NEXTVAL);


'database > db' 카테고리의 다른 글

[oracle] 조인(Join)  (0) 2020.04.05
[oracle] 클러스터/시노님  (0) 2020.03.25
[oracle] 뷰(view)  (0) 2020.03.24
[oracle] 인덱스(INDEX)  (0) 2020.03.20
[oracle] 오라클 오브젝트 CRUD  (0) 2020.03.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
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
글 보관함