ALTER SEQUENCE

ALTER SEQUENCE

기존 시퀀스(sequence)의 속성을 수정하는 명령이에요.

출처: 문서

본문

관련 명령: CREATE SEQUENCE, DROP SEQUENCE, SHOW SEQUENCES, DESCRIBE SEQUENCE

구문 (Syntax)

ALTER SEQUENCE [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER SEQUENCE [ IF EXISTS ] <name> [ SET ] [ INCREMENT [ BY ] [ = ] <sequence_interval> ]

ALTER SEQUENCE [ IF EXISTS ] <name> SET
  [ { ORDER | NOORDER } ]
  [ COMMENT = '<string_literal>' ]

ALTER SEQUENCE [ IF EXISTS ] <name> UNSET COMMENT

매개변수 (Parameters)

name — 수정할 시퀀스의 식별자를 지정해요. 식별자에 공백이나 특수 문자가 포함되어 있으면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶은 식별자는 대소문자를 구분해요. 식별자에 대한 자세한 내용은 식별자 요구사항을 참고하세요.

RENAME TO new_name — 시퀀스의 새 식별자를 지정해요. 스키마에서 고유해야 해요. 식별자에 대한 자세한 내용은 식별자 요구사항을 참고하세요.

객체의 이름을 바꾸면서 다른 데이터베이스 및/또는 스키마로 이동할 수 있어요. 그러려면 db_name.schema_name.object_name 또는 schema_name.object_name 형식으로 새 위치가 포함된 정규화된 new_name 값을 지정해요.

참고

  • 대상 데이터베이스 및/또는 스키마는 이미 존재해야 해요. 새 위치에 같은 이름의 객체가 이미 있으면 문이 오류를 반환해요.
  • 객체 소유자(즉 객체에 OWNERSHIP 권한이 있는 역할)가 대상 스키마도 소유하지 않는 한, 관리형 접근 스키마로의 이동은 금지돼요.

객체 이름을 바꾸면, 그 객체를 참조하는 다른 객체도 새 이름으로 업데이트해야 해요.

SET ... — 시퀀스에 설정할 속성을 지정해요:

[ INCREMENT [ BY ] sequence_interval ] — 시퀀스의 증가 간격(step interval)을 지정해요:

  • 양수 시퀀스 간격 n이면, 각 시퀀스 호출이 다음 n-1개의 값을 예약해요.
  • 음수 시퀀스 간격 -n이면, 각 시퀀스 호출이 다음 n-1개의 더 낮은 값을 예약해요.

지원되는 값은 64비트 2의 보수 정수로 표현할 수 있는 0이 아닌 값이에요.

{ ORDER | NOORDER } — 시퀀스의 값이 증가 순서로 생성되는지 여부를 지정해요.

  • ORDER는 시퀀스나 자동 증가 열에 대해 생성되는 값이 증가 순서(간격이 음수이면 감소 순서)임을 지정해요. 예를 들어 시퀀스나 자동 증가 열에 START 1 INCREMENT 2가 있으면 생성되는 값은 1, 3, 5, 7, 9 등일 수 있어요.
  • NOORDER는 값이 증가 순서임이 보장되지 않음을 지정해요. 예를 들어 시퀀스에 START 1 INCREMENT 2가 있으면 생성되는 값은 1, 3, 101, 5, 103 등일 수 있어요. NOORDER는 여러 INSERT 작업이 동시에 수행될 때(예: 여러 클라이언트가 여러 INSERT 문을 실행할 때) 성능을 향상시킬 수 있어요.

참고: 시퀀스가 NOORDER로 설정되면 시퀀스를 ORDER로 변경할 수 없어요.

COMMENT = 'string_literal' — 시퀀스의 주석을 추가하거나 기존 주석을 덮어써요.

UNSET ... — 시퀀스에서 해제할 속성을 지정해 기본값으로 되돌려요. 현재 해제할 수 있는 유일한 속성은 COMMENT로, 시퀀스의 주석(있는 경우)을 제거해요.

사용 메모 (Usage notes)

  • 시퀀스의 첫/초기 값은 시퀀스를 만든 후에는 변경할 수 없어요.
  • 메타데이터 관련: Snowflake 서비스를 사용할 때 메타데이터로 개인 데이터(User 객체 외), 민감한 데이터, 수출 통제 데이터 또는 기타 규제 대상 데이터를 입력하지 않도록 주의해야 해요. 자세한 내용은 Snowflake의 메타데이터 필드를 참고하세요.

예시 (Examples)

시퀀스 myseq의 이름을 newseq로 변경해요.

ALTER SEQUENCE myseq RENAME TO newseq;

더 많은 예시는 시퀀스 사용 문서에서 확인할 수 있어요.

더 알아보기 (Learn more)