카테고리:

데이터베이스, 스키마 및 공유 DDL

DROP SCHEMA

현재/지정된 데이터베이스에서 스키마를 제거합니다.

참고 항목:

CREATE SCHEMA , ALTER SCHEMA , DESCRIBE SCHEMA , SHOW SCHEMAS , UNDROP SCHEMA

구문

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

매개 변수

name

삭제할 스키마의 식별자를 지정합니다. 식별자에 공백, 특수 문자 또는 대/소문자가 혼합된 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

스키마 식별자가 (db_name.schema_name 형식으로) 정규화되지 않은 경우 이 명령은 세션의 현재 데이터베이스에서 스키마를 찾습니다.

CASCADE | RESTRICT

스키마에 있는 임의의 테이블을 참조하는 외래 키가 있는 경우 스키마를 삭제할 수 있는지 여부를 지정합니다.

  • CASCADE 는 다른 테이블의 외래 키가 참조하는 기본/고유 키가 있는 테이블을 포함하여 스키마와 스키마의 모든 오브젝트를 삭제합니다.

  • RESTRICT 는 기존 외래 키 참조에 대한 경고를 반환하고 스키마를 삭제하지 않습니다.

기본값: CASCADE

사용법 노트

  • 스키마를 삭제해도 시스템에서 영구적으로 제거되지는 않습니다. 삭제된 스키마의 버전은 스키마에 대한 DATA_RETENTION_TIME_IN_DAYS 매개 변수로 지정된 일수 동안 Time Travel 에 보존됩니다.

    1. Time Travel 보존 기간 이내에, UNDROP SCHEMA 명령을 사용하여 삭제된 스키마를 복원할 수 있습니다.

    2. Time Travel 보존 기간이 끝날 때, 삭제된 스키마의 다음 상태는 이 스키마가 영구적인지 일시적인지에 따라 달라집니다.

      • 영구 스키마는 Fail-safe 로 이동합니다. Fail-safe(7일)에서는 삭제된 스키마를 복구할 수 있지만, Snowflake에서만 가능합니다. 스키마가 Fail-safe 상태를 벗어나면 제거됩니다.

      • 일시적 스키마는 Fail-safe가 없으므로, Time Travel에서 벗어날 때 제거됩니다.

    3. 삭제된 스키마는 제거된 후에는 복구할 수 없으며, 다시 만들어야 합니다.

  • 현재, 스키마를 삭제할 때 하위 테이블의 데이터 보존 기간을 스키마의 보존 기간과 다르게 명시적으로 설정했다면 이 데이터 보존 기간 역시 허용되지 않습니다. 하위 테이블은 스키마와 같은 기간 동안 보존됩니다. 이러한 테이블의 데이터 보존 기간을 적용하려면 해당 오브젝트를 명시적으로 삭제한 스키마를 삭제하십시오.

  • 스키마를 삭제한 후, 같은 이름의 스키마를 만들면 새 버전의 스키마가 생성됩니다. 이전 스키마의 삭제된 버전은 여전히 다음 방법을 사용해 복원할 수 있습니다.

    1. 현재 버전의 스키마 이름을 다른 이름으로 바꿉니다.

    2. UNDROP SCHEMA 명령을 사용하여 이전 버전을 복원합니다.

  • 열 수준 보안 마스킹 정책이 테이블 또는 뷰 열에 연결되는 경우 스키마를 성공적으로 삭제하려면 데이터베이스와 스키마 내에서 마스킹 정책이 자급식이 되도록 해야 합니다. 예를 들어, 데이터베이스_1은 정책_1을 포함하고 정책_1은 데이터베이스_1에서만 사용됩니다.

(CREATE SCHEMA 예에서) myschema 로 명명된 스키마 삭제하기:

DROP SCHEMA myschema;

+--------------------------------+
| status                         |
|--------------------------------|
| MYSCHEMA successfully dropped. |
+--------------------------------+

SHOW SCHEMAS;

+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+
| created_on                      | name               | is_default | is_current | database_name | owner  | comment                                                   | options | retention_time |
|---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------|
| Fri, 13 May 2016 17:26:07 -0700 | INFORMATION_SCHEMA | N          | N          | MYTESTDB      |        | Views describing the contents of schemas in this database |         |              1 |
| Tue, 17 Mar 2015 16:57:04 -0700 | PUBLIC             | N          | Y          | MYTESTDB      | PUBLIC |                                                           |         |              1 |
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+
맨 위로 이동