Database/SQL

[Oracle] 자동증가 SEQUENCE 생성, 조회, 삭제

헹창 2020. 4. 8.
반응형

[Oracle] 자동증가 SEQUENCE 생성, 조회, 삭제

 

 

SEQ값을 키 값으로 가지고 있는 테이블을 저장할 때 MAX(SEQ)+1로 데이터를 저장하게되면 데이터가 쌓일수록 과부하가 걸린다.

 

따라서 시퀀스를 생성하여 시퀀스의 자동증가를 활용하여 저장할 수 있도록 해보자.

 

 

 

1. SEQUENCE 생성

 

- 내가 원하는 시퀀스 명칭을 정의하여 생성한다.

 

 

CREATE SEQUENCE TEST_SEQ
    START WITH 1
    INCREMENT BY 1;

 

 

 

 

 

2. SEQUENCE 전체 조회

 

- 내가 생성한 SEQUENCE에 대한 전체 정보를 조회한다. TEST_SEQ가 생성된 것을 확인할 수 있다.

 

 

SELECT * FROM USER_SEQUENCES;

 

 

 

3. 특정 SEQUENCE의 다음 값 조회  : NEXTVAL

 

- SEQ의 최대 값의 다음 값을 가져온다.

 

 

SELECT TEST_SEQ.NEXTVAL FROM SYS.DUAL;

 

 

 

- 데이터를 저장할 때 MAX(SEQ)+1 을 대신할 수 있는 부분이다.

 

예시)

 

INSERT INTO TEST_TABLE (
	TEST_SEQ, 
	TEST_NM, 
	REG_DT
) VALUES (
	TEST_SEQ.NEXTVAL, 
	'테스트', 
	SYSDATE
)

 

 

 

4. SEQUENCE 삭제

 

- 지정한 이름의 시퀀스를 삭제한다.

 

 

DROP SEQUENCE TEST_SEQ ;

 

 

 

 

 

 

728x90
반응형

댓글

추천 글