반응형
[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
반응형
'Database > SQL' 카테고리의 다른 글
[HeidiSQL] HeidisSQL 에서 조회한 데이터 엑셀 내보내기 (8) | 2020.07.23 |
---|---|
[Oracle] 숫자 0.5 문자 변환 시 ".5" ? "0.5" 로 표시하기 (0) | 2020.06.20 |
[Oracle] LPAD, RPAD 함수 사용하여 공백 채우기 "0 채우기" (2) | 2020.04.03 |
[Oracle] ORA-00904 : 부적합한 식별자 invalid identifier 오류 (1) | 2020.02.17 |
[Oracle] ORA-00054 : 리소스가 사용 중이어서 NOWAIT가 지정되었거나 시간 초과가 만료된 상태로 획득합니다. 오류 (0) | 2020.02.17 |
댓글