데이터베이스를 사용하면 순차적으로 번호를 증가시키거나
데이터 순서대로 기본키 값을 주고 사용해야 할 때가 있습니다
그럴 때 사용하는 것이 바로 시퀀스 인데
시퀀스를 사용하기 위해서는 시퀀스를 생성하고 사용해야 합니다
시퀀스 생성 표현식은 아래와 같습니다
create sequence 시퀀스명 [start with 정수] -- 시작 값, 1이 기본값 [increment by 정수] -- 증가치, 생략 시 1이 기본값 [maxvalue 정수 | nomaxvalue] -- 증가 최대값 [minvalue 정수 | nominvalue] -- 최소값 [cycle | nocycle] -- 값 순환 여부 지정 [cache 바이트크기 | nocache] -- 캐시메모리 크기 지정, 기본 20byte, 최소 2byte |
시퀀스를 사용할 때는
시퀀스명.nextval, 시퀀스명.currval를 이용하여 사용합니다
현재 값을 보기 위해서는 .currval를 이용하고
증가치 만큼 증가시키려면 .nextval를 이용하여 사용할 수 있습니다
시퀀스를 확인할 수 있는 테이블 명은 user_sequences입니다
select* from user_sequences; 를 통해 정보를 확인할 수 있습니다.
테스트는 아래와 같이 진행할 수 있습니다.
select 시퀀스명.nextval from dual;
select 시퀀스명.currval from dual;
이때 주의해야 할 점은 시퀀스를 생성하고 .nextval를 한 번도 실행하지 않았다면
스퀀스의 값을 한 번도 사용하지 않았기 때문에 에러가 발생합니다
그러므로 .currval는 한 번이라도 .nextval를 진행한 후에 사용하시기 바랍니다.
'IT관련 > Oracle' 카테고리의 다른 글
오라클(Oracle) - 컬럼에 코멘트(주석,설명) 추가,수정 (0) | 2020.05.13 |
---|---|
오라클(Oracle) - sql 결과 내보내기 SPOOL 명령어 (0) | 2020.05.08 |
오라클(Oracle) - 조건문(decode,case) (0) | 2020.05.07 |
오라클(Oracle) - 테이블 생성 및 ctl 사용 (0) | 2020.05.06 |
오라클(oracle) - 계정 생성 (0) | 2020.05.04 |