ALTER SEQUENCE¶
기존 시퀀스의 속성을 수정합니다.
- 참고 항목:
CREATE SEQUENCE , DROP SEQUENCE , SHOW SEQUENCES , DESCRIBE SEQUENCE
구문¶
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>' ]
매개 변수¶
name
변경할 시퀀스의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
식별자에 대한 자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
RENAME TO new_name
시퀀스에 대해 새 식별자를 지정하는데, 스키마에 대해 고유한 식별자여야 합니다.
식별자에 대한 자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
선택적으로 오브젝트의 이름을 바꾸는 동안 오브젝트를 다른 데이터베이스 및/또는 스키마로 이동할 수 있습니다. 그러려면 각각
db_name.schema_name.object_name
또는schema_name.object_name
형식으로 새 데이터베이스 및/또는 스키마 이름을 포함하는 정규화된new_name
값을 지정하십시오.참고
대상 데이터베이스 및/또는 스키마가 이미 있어야 합니다. 또한, 새 위치에 이름이 같은 오브젝트가 있으면 안 됩니다. 그렇지 않으면 문이 오류를 반환합니다.
오브젝트 소유자(즉, 오브젝트에 대한 OWNERSHIP 권한을 가진 역할) 역시 대상 스키마를 소유하지 않는 한 오브젝트를 관리되는 액세스 스키마로 이동하는 것은 금지됩니다.
오브젝트의 이름이 바뀌면 그 오브젝트를 참조하는 다른 오브젝트도 새 이름으로 업데이트해야 합니다.
SET...
시퀀스에 대해 설정할 속성을 지정합니다.
[ INCREMENT [ BY ] sequence_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 문을 실행하는 경우) 성능을 향상시킬 수 있습니다.
참고
시퀀스가 NOORDER로 설정된 경우 시퀀스를 ORDER로 변경할 수 없습니다.
COMMENT = 'string_literal'
시퀀스에 대한 설명을 추가하거나 기존 설명을 덮어씁니다.
사용법 노트¶
시퀀스가 생성된 후에는 시퀀스의 첫 번째 값/초기값을 변경할 수 없습니다.
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
예¶
시퀀스 이름을 myseq
에서 newseq
로 바꾸기:
ALTER SEQUENCE myseq RENAME TO newseq;