DROP SEQUENCE

DROP SEQUENCE

현재/지정된 스키마에서 시퀀스(sequence)를 제거하는 명령이에요. 시퀀스는 고유한 숫자 값을 생성하는 데 사용돼요.

출처: 문서

본문

구문 (Syntax)

DROP SEQUENCE [ IF EXISTS ] <name> [ CASCADE | RESTRICT ]

파라미터

  • name — 삭제할 시퀀스의 식별자를 지정해요. 시퀀스 식별자가 정규화되지 않았다면(즉 db_name.schema_name.sequence_name 또는 schema_name.sequence_name 형식이 아니라면), 명령은 세션의 현재 스키마에서 시퀀스를 찾아요.
  • CASCADE | RESTRICT — Snowflake는 CASCADERESTRICT 키워드를 구문적으로 허용하지만 실제로는 동작하지 않아요. 예를 들어 CASCADE 키워드로 시퀀스를 삭제해도 그 시퀀스를 사용하는 테이블이 실제로 삭제되지는 않아요. RESTRICT 키워드로 시퀀스를 삭제해도 테이블이 여전히 시퀀스를 사용 중이어도 경고가 발생하지 않아요.

사용 메모 (Usage notes)

  • 시퀀스를 삭제하려면 시퀀스에 대한 소유권(ownership) 권한이 있는 역할을 사용해야 해요.
  • 시퀀스를 삭제한 후 같은 이름으로 시퀀스를 만들면 새 버전의 시퀀스가 생성돼요. 새 시퀀스는 이전 시퀀스가 멈춘 지점부터 숫자 생성을 재개하지 않아요.
  • 시퀀스를 삭제하기 전에 어떤 테이블이나 다른 데이터베이스 객체가 시퀀스를 참조하지 않는지 확인해요.
  • 삭제된 시퀀스가 테이블의 DEFAULT 절에서 참조되었다면, 그 테이블에 대해 GET_DDL()을 호출하면 테이블을 만든 DDL 대신 오류가 발생해요.
  • IF EXISTS 절을 지정했을 때 대상 객체가 존재하지 않으면, 명령은 오류를 반환하지 않고 성공적으로 완료돼요.

예시 (Examples)

시퀀스를 삭제해요:

DROP SEQUENCE IF EXISTS invoice_sequence_number;

더 알아보기 (Learn more)