UNDROP SCHEMA¶
삭제된 스키마의 최신 버전을 복원합니다.
- 참고 항목:
CREATE SCHEMA , ALTER SCHEMA , DESCRIBE SCHEMA , DROP SCHEMA , SHOW SCHEMAS
구문¶
UNDROP SCHEMA <name>
매개 변수¶
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;
+----------------------------------------+
| status |
|----------------------------------------|
| Schema MYSCHEMA successfully restored. |
+----------------------------------------+
SHOW SCHEMAS HISTORY;
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+------------+
| 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 을 복원하려는 경우 다음 단계를 따르십시오.
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;
+-----------+-------------+---------------+-------------------------------+-------------------------------+---------+ | 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 | +-----------+-------------+---------------+-------------------------------+-------------------------------+---------+
스키마 ID를 사용하여 스키마
s1을 삭제 취소합니다. 마지막에서 두 번째로 삭제된 스키마를 복원하려면 이전 문의 출력에서 스키마 ID798을 사용합니다. 다음 문을 실행하면 스키마가 원래 이름인s1로 복원됩니다.UNDROP SCHEMA IDENTIFIER(798);