본문 바로가기
DataBase/Oracle

오라클 시퀀스 ( Sequence )

by Dev. Jkun 2017. 11. 22.
반응형

오라클 시퀀스 정리


아래 내용은 심플하게 정리된 포스팅입니다.


출처 : 오라클 sequence 의 사용이유와 주의점 ( http://javakorea.tistory.com/175 )

시퀀스 사용이유가 데이터 입력시 동시성 때문에 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를 따라가기 때문에 테이블,컬럼,데이터 입력시 원하는 시퀀스를 헷갈리지않게 명칭을 잘 정해야할것


반응형

댓글