상세 컨텐츠

본문 제목

오라클 sequence 의 사용이유와 주의점

관리X 과거글

by 까먹기전에 2014. 12. 30. 21:49

본문

반응형



시퀀스 사용이유가 데이터 입력시 동시성 때문에 register가 겹칠때 이를 방지 하기 위해


commit이 완료되지 않더라도 시퀀스를 사용하면 여러사용자가 중복되지않은 register(회원가입번호) 를 얻을수있어서 정상적


으로 회원가입이 가능하다.



syntax)

create sequence 시퀀스명

minvalue 1 // 최소 생성 시퀀스값

max value 99999999999 // 최대 생성

increment by 1 // 증가값 이값은 max-min보다 작아야함

start with 207 //  시작 시퀀스값

nocache // 시퀀스 생성을 위해 미리 값을 할당하는것, 동시성에 좋은 옵션, no하                                  면 미리 할당X

noorder//요청되는 순서대로 값을 생성함, 디폴트값은 no

nocycle//생성된 시퀀스값이 최대치 혹은 최소치(감소시)에 다다랐을때 초기값부터                               다시 시작할지 물어봄

디폴트값은 no 

                                cycle로 돌아가면 minvalue로 돌아감




시퀀스명 " " 을 넣으면 대소문자 구분을 할 수 있다


근데 문제점은 "aaa" 를 만들고


drop sequence aaa 하면 자동으로 AAA 라고 인식을 해서


지워지지 않는다.


하이 테이블에 a시퀀스를 쓰고 헬로 테이블에 a시퀀스를 사용하면 


a시퀀스에 현재 저장된 last_number를 따라가기 때문에 테이블,컬럼,데이터 입력시 원하는 시퀀스를


헷갈리지않게 명칭을 잘 정해야할것










관련글 더보기