데이터베이스 - 시퀸스 객체
시퀸스 데이터 베이스 객체에는 테이블과 뷰를 제외하고 시퀸스, 인덱스, 동의어가 존재한다. 테이블과 뷰에 대해서는 앞에서 학습하였기 때문에 나머지 3 종류의 객체에 대해서 살펴보도록 하겠다. 시퀸스는 은행에서 대기표를 뽑을 때 사용하는 일종의 번호발생기라고 생각하면 된다. 여러 사용자들이 공유하는 데이터베이스 객체로서 호출 시 중복되지 않는 숫자를 리턴한다. 시퀸스는 중복되지 않는 값이기 때문에 주로 primary key를 생성할 때 시퀸스 값을 이용한다. 시퀸스 생성 시퀸스 생성 명령은 다음과 같다. 일단 create문을 통해 sequence 이름을 입력하고, 숫자를 얼마씩 증가시킬지, 시퀸스 초기값, 최대값 등을 설정한다. cycle 옵션 nocycle은 시퀸스가 한바퀴 돌았을 때 다시 반복하도록 하는가에 대한 속성값이다. 만약에 cycle로 선언하여 반복을 허용할 경우에는 primary 키로 사용해서는 안된다. cache 옵션 시퀸스 번호의 추출을 빠르게 진행할 수 있도록 하는 옵션이다. nextval(아래에서 다룰 것)에 의해 최초로 시퀸스 번호를 추출하면 cache 옵션에 기술된 숫자 만큼 시퀸스 번호가 추출되고 캐시에 저장된다. nextval에 의해 다음 시퀸스 번호가 호출될 때 캐시에서 이 번호들을 리턴한다. user_sequences 시퀸스 역시 데이터 딕셔너리가 존재한다. 이를 user_sequences라고 하는데, 아래와 같은 데이터들을 담고 있다. 이 중 몇가지를 검색하도록 해보자. 시퀸스의 이름과 초기값, 최대값, 증분을 검색하였다. 우리가 시퀸스 생성 시 설정한대로 잘 출력되고 있다. nextval, currval 가상 칼럼 시퀸스를 작성한 후 nextval, currval 라는 가상 칼럼을 사용하여 시퀸스 번호를 검색할 수 있다. nextval는 다음 시퀸스 번호를 출력하고, currval는 현재 시퀸스 번호를 출력한다. 일단 curr...