UNDROP SCHEMA

삭제된 스키마의 최신 버전을 복원합니다.

참고 항목:

CREATE SCHEMA , ALTER SCHEMA , DESCRIBE SCHEMA , DROP SCHEMA , SHOW SCHEMAS

구문

UNDROP SCHEMA <name> 
Copy

매개 변수

name

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

사용법 노트

  • 스키마는 삭제 시점에 해당 스키마가 포함되었던 데이터베이스로만 복원될 수 있습니다. 예를 들어, 데이터베이스 db1 에서 스키마 s1 을 생성하고 삭제한 다음 현재 데이터베이스를 db2 로 변경하고 스키마 s1 을 ID(또는 정규화된 이름 db1.s1)를 기준으로 복원하려고 하면 스키마 s1 은 현재 데이터베이스 db2 가 아닌 데이터베이스 db1 에서 복원됩니다.

  • 같은 이름의 스키마가 이미 있는 경우 오류가 반환됩니다.

  • UNDROP은 Snowflake Time Travel 기능에 의존합니다. 오브젝트가 데이터 보존 기간 내에서 삭제된 경우에만 오브젝트를 복원할 수 있습니다. 기본값은 24시간입니다.

  • 지정된 스키마에 속한 하이브리드 테이블은 삭제 취소되지 않습니다.

  • 동일한 이름을 가진 스키마가 여러 개 삭제된 경우 IDENTIFIER 키워드 와 시스템에서 생성된 식별자(SCHEMATA 뷰 에서 가져옴)를 사용하여 복원할 스키마를 지정할 수 있습니다. 복원된 스키마의 이름은 동일하게 유지됩니다. 예제 를 참조하십시오.

    참고

    노트북, 테이블, 스키마, 데이터베이스에 대해 UNDROP 명령을 실행할 때 IDENTIFIER() 키워드와 함께 시스템에서 생성된 식별자만 사용할 수 있습니다.

기본 예제

삭제된 스키마의 최신 버전을 복원합니다(이 예는 DROP SCHEMA 에 대해 제시된 예를 기반으로 함).

UNDROP SCHEMA myschema; 
Copy
+----------------------------------------+ | status | |----------------------------------------| | Schema MYSCHEMA successfully restored. | +----------------------------------------+ 
SHOW SCHEMAS HISTORY; 
Copy
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+------------+ | created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | dropped_on | |---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+------------| | Fri, 13 May 2016 17:26:07 -0700 | INFORMATION_SCHEMA | N | N | MYTESTDB | | Views describing the contents of schemas in this database | | 1 | [NULL] | | Tue, 17 Mar 2015 17:18:42 -0700 | MYSCHEMA | N | N | MYTESTDB | PUBLIC | | | 1 | [NULL] | | Tue, 17 Mar 2015 16:57:04 -0700 | PUBLIC | N | Y | MYTESTDB | PUBLIC | | | 1 | [NULL] | +---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+------------+ 

스키마 ID를 사용한 스키마 UNDROP

IDENTIFIER()를 사용하여 ID를 기준으로 삭제된 스키마를 복원합니다. SCHEMATA 뷰 에서 schema_id 열을 사용하여 삭제 취소할 특정 스키마의 스키마 ID를 찾을 수 있습니다. 예를 들어, s1 이라는 삭제된 스키마가 여러 개 있고 마지막에서 두 번째로 삭제된 스키마 s1 을 복원하려는 경우 다음 단계를 따르십시오.

  1. Account Usage SCHEMATA 뷰에서 삭제된 스키마의 스키마 ID를 찾습니다.

    SELECT schema_id, schema_name, catalog_name, created, deleted, comment FROM SNOWFLAKE.ACCOUNT_USAGE.SCHEMATA WHERE schema_name = 'S1' AND catalog_name = 'DB1' AND deleted IS NOT NULL ORDER BY deleted; 
    Copy
    +-----------+-------------+---------------+-------------------------------+-------------------------------+---------+ | SCHEMA_ID | SCHEMA_NAME | CATALOG_NAME | CREATED | DELETED | COMMENT | |-----------+-------------+---------------+-------------------------------+-------------------------------+---------| | 797 | S1 | DB1 | 2024-07-01 17:53:01.955 -0700 | 2024-07-01 17:53:11.889 -0700 | NULL | | 798 | S1 | DB1 | 2024-07-01 17:53:11.889 -0700 | 2024-07-01 17:53:16.327 -0700 | NULL | | 799 | S1 | DB1 | 2024-07-01 17:53:16.327 -0700 | 2024-07-01 17:53:25.066 -0700 | NULL | +-----------+-------------+---------------+-------------------------------+-------------------------------+---------+ 
  2. 스키마 ID를 사용하여 스키마 s1 을 삭제 취소합니다. 마지막에서 두 번째로 삭제된 스키마를 복원하려면 이전 문의 출력에서 스키마 ID 798 을 사용합니다. 다음 문을 실행하면 스키마가 원래 이름인 s1 로 복원됩니다.

    UNDROP SCHEMA IDENTIFIER(798); 
    Copy