실제 사례를 통한 Oracle ALTER SEQUENCE

Silje Salyeleul Tonghan Oracle Alter Sequence



Oracle에서 시퀀스는 기본 키로 사용하거나 고유 번호가 필요한 다른 용도로 사용할 수 있는 일련의 고유한 정수를 생성하는 데이터베이스 개체입니다. ALTER SEQUENCE는 데이터베이스에서 시퀀스의 속성을 수정할 수 있는 Oracle의 강력한 도구입니다. ALTER SEQUENCE 명령은 처음에는 벅차게 보일 수 있지만 실용적인 예를 통해 전체 잠재력을 이해하고 활용하는 데 도움이 될 수 있습니다.

이 가이드에서는 다음 예를 다룹니다.

시퀀스 값 재설정

시퀀스 값을 재설정하거나 시퀀스 값을 시작 값에서 다시 시작하려면 ' 시퀀스 변경 ' 명령을 ' 재시작 ” 절을 사용할 수 있습니다. 예는 다음과 같습니다.







ALTER SEQUENCE LINUXHINT_SEQ RESTART;

위 명령어에서 ' LINUXHINT_SEQ ”는 시퀀스 이름을 나타냅니다.



산출



출력은 시퀀스가 ​​재설정되었음을 보여줍니다.





시퀀스의 최소값 변경

Oracle에서 시퀀스를 만들 때 기본적으로 최소값은 1로 설정됩니다. ' 시퀀스 변경 ' 명령을 ' 최소값 ” 절을 활용하여 시퀀스의 최소값을 변경할 수 있습니다. 예는 다음과 같습니다.

ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;

이 예에서 새 최소값은 -1 .



산출

출력은 최소값이 변경되었음을 보여줍니다.

시퀀스의 최대값 변경

기본적으로 Oracle 시퀀스의 최대값은 “10^27 – 1”이며, 이는 38자리 십진수에 대해 가능한 가장 큰 값입니다. 최대 시퀀스 값을 변경하려면 ' 시퀀스 변경 ' 명령을 ' 최대값 ” 절을 사용할 수 있습니다. 예는 다음과 같습니다.

ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;

위의 예에서 새 최대값은 1000 .

산출

스크린샷에서 최대값이 변경된 것을 확인할 수 있습니다.

메모 : 위의 예에서 시퀀스는 1000에 도달한 후 값 생성을 중지하고 해당 지점을 초과하여 값을 생성하려고 시도하면 오류가 발생합니다.

시퀀스의 캐싱 크기 변경

캐시 크기는 더 빠른 액세스를 위해 미리 할당되고 메모리에 저장되는 시퀀스 번호의 수를 결정합니다. 시퀀스의 캐시 크기를 변경하려면 ' 은닉처 ” 절에 “ 시퀀스 변경 ' 명령. 예를 들면 다음과 같습니다.

ALTER SEQUENCE LINUXHINT_SEQ 캐시 50;

위의 예에서 시퀀스의 캐시 크기는 오십 . 이는 더 빠른 액세스를 위해 시퀀스 번호 50이 한 번에 미리 할당됨을 의미합니다.

산출

출력은 캐시 크기가 변경되었음을 나타냅니다.

캐시 시퀀스의 크기 및 순서 설정

시퀀스 캐시 크기를 설정하고 시퀀스 번호를 순서대로 생성하려면 “ 주문하다 ' 그리고 ' 은닉처 ” 절은 “ 시퀀스 변경 ' 명령. 다음은 예입니다.

ALTER SEQUENCE LINUXHINT_SEQ 캐시 100 주문;

이 예에서 새 캐시 크기 값은 100 .

산출

시퀀스가 변경되었음을 출력에 표시합니다.

내림차순 값을 생성하도록 시퀀스 설정

시퀀스 번호 사이의 간격은 증분 번호에 의해 결정됩니다. 증분 값은 기본적으로 1로 설정되며, 이는 시퀀스가 ​​호출될 때마다 시리즈의 다음 번호가 반환됨을 의미합니다. 증분이 -1로 설정되면 시퀀스는 내림차순으로 정수를 생성합니다.

내림차순 값을 생성하도록 시퀀스를 설정하려면 ' 증분 기준 ' 와 더불어 ' 시퀀스 변경 ” 명령을 실행하고 값을 -1로 설정합니다. 예는 다음과 같습니다.

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY -1;

이 예에서 값은 -1 즉, 시퀀스가 ​​호출될 때마다 시퀀스의 이전 번호가 반환됩니다.

산출

출력은 시퀀스가 ​​내림차순 값을 생성하도록 설정되었음을 나타냅니다.

시퀀스의 증분 값 변경

시퀀스의 증분 값을 변경하려면 ' 증분 기준 ' 와 더불어 ' 시퀀스 변경 ” 명령을 내리고 그에 따라 값을 설정합니다. 예는 다음과 같습니다.

ALTER SEQUENCE LINUXHINT_SEQ 증가 2;

이 예에서 값은 2 즉, 시퀀스가 ​​호출될 때마다 시퀀스의 다음 숫자가 2씩 증가합니다.

산출

그에 따라 순서가 변경되었음을 출력에 표시합니다.

주기 옵션을 활성화하도록 시퀀스 변경

시퀀스에 대해 주기 옵션을 활성화하면 시퀀스가 ​​최대값(MAXVALUE)에 도달하면 시퀀스가 ​​순환되어 처음부터(MINVALUE) 다시 시작됩니다. 이 옵션을 활성화하려면 ' 주기 ” 절에 “ 시퀀스 변경 ' 명령. 예는 다음과 같습니다.

ALTER SEQUENCE LINUXHINT_SEQ CYCLE;

산출

사이클 옵션이 표시된 출력이 활성화되었습니다.

시퀀스를 비활성화 주기로 변경

시퀀스에 대해 주기 옵션이 비활성화되면 시퀀스는 생성 순서에 따라 최대값(MAXVALUE) 또는 최소값(MINVALUE)에 도달하면 값 생성을 중지합니다. 이 옵션을 비활성화하려면 'ALTER SEQUENCE' 명령과 함께 'NOCYCLE' 절을 사용하십시오. 예는 다음과 같습니다.

ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE;

산출

출력은 주기 옵션이 비활성화되었음을 나타냅니다.

여러 옵션을 수정하기 위해 시퀀스 변경

주어진 명령을 입력하여 음수 증분 -1, 최대값 10, 주기 옵션 활성화를 갖도록 시퀀스를 설정합니다.

ALTER SEQUENCE LINUXHINT_SEQ 증가 -1 MAXVALUE 10 사이클;

산출

출력은 시퀀스가 ​​성공적으로 변경되었음을 보여줍니다.

결론

오라클에서는 ' 시퀀스 변경 ” 명령을 사용하면 시퀀스 값 재설정, 최소값 및 최대값 변경, 증분 값, 캐싱 크기, 순서 지정, 주기 옵션 활성화 또는 비활성화를 통해 시퀀스의 속성을 변경할 수 있습니다. 이러한 변경은 성능 향상을 위해 시퀀스의 시작 값을 변경하거나 캐싱 크기를 조정해야 하는 경우와 같은 다양한 상황에서 유용합니다. 이 게시물은 실제 예제를 사용하여 ALTER SEQUENCE 명령의 다양한 사용 사례를 설명했습니다.