UNDROP TABLE¶
삭제된 테이블의 최신 버전을 복원합니다.
- 참고 항목:
CREATE TABLE , ALTER TABLE , DROP TABLE , SHOW TABLES , DESCRIBE TABLE
구문¶
UNDROP TABLE <name>
매개 변수¶
name복원할 테이블의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
사용법 노트¶
테이블은 삭제 시점에 해당 테이블이 포함되었던 데이터베이스와 스키마로만 복원될 수 있습니다. 예를 들어, 스키마
s1에서 테이블t1을 생성하고 삭제한 다음 현재 스키마를s2로 변경하고 테이블t1을 ID(또는 정규화된 이름s1.t1)를 기준으로 복원하려고 하면 테이블t1은 현재 스키마s2가 아닌 스키마s1에서 복원됩니다.같은 이름의 테이블이 이미 있는 경우 오류가 반환됩니다.
동일한 이름을 가진 테이블이 여러 개 삭제된 경우 IDENTIFIER 키워드 와 시스템에서 생성된 식별자(TABLES 뷰 에서 가져옴)를 사용하여 복원할 테이블을 지정할 수 있습니다. 복원된 테이블의 이름은 동일하게 유지됩니다. 예제 를 참조하십시오.
참고
노트북, 테이블, 스키마, 데이터베이스에 대해 UNDROP 명령을 실행할 때 IDENTIFIER() 키워드와 함께 시스템에서 생성된 식별자만 사용할 수 있습니다.
UNDROP은 Snowflake Time Travel 기능에 의존합니다. 오브젝트가 데이터 보존 기간 내에서 삭제된 경우에만 오브젝트를 복원할 수 있습니다. 기본값은 24시간입니다.
하이브리드 테이블은 삭제 취소할 수 없습니다.
예¶
기본 예제¶
삭제된 테이블의 최신 버전을 복원합니다(이 예는 DROP TABLE 에 대해 제시된 예를 기반으로 함).
UNDROP TABLE t2;
+---------------------------------+
| status |
|---------------------------------|
| Table T2 successfully restored. |
+---------------------------------+
테이블 ID를 사용한 테이블 UNDROP¶
IDENTIFIER()를 사용하여 ID를 기준으로 삭제된 테이블을 복원합니다. TABLES 뷰 에서 table_id 열을 사용하여 삭제 취소할 특정 테이블의 테이블 ID를 찾을 수 있습니다. 예를 들어, my_table 이라는 삭제된 테이블이 여러 개 있고 마지막에서 두 번째로 삭제된 테이블 my_table 을 복원하려는 경우 다음 단계를 따르십시오.
Account Usage TABLES 뷰에서 삭제된 테이블의 테이블 ID를 찾습니다.
SELECT table_id, table_name, table_schema, table_catalog, created, deleted, comment FROM SNOWFLAKE.ACCOUNT_USAGE.TABLES WHERE table_catalog = 'DB1' AND table_schema = 'S1' AND table_name = 'MY_TABLE' AND deleted IS NOT NULL ORDER BY deleted;
+----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------+ | TABLE_ID | TABLE_NAME | TABLE_SCHEMA | TABLE_CATALOG | CREATED | DELETED | COMMENT | |----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------| | 408578 | MY_TABLE | S1 | DB1 | 2024-07-01 15:39:07.565 -0700 | 2024-07-01 15:40:28.161 -0700 | NULL | +----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------+ | 408607 | MY_TABLE | S1 | DB1 | 2024-07-01 17:43:07.565 -0700 | 2024-07-01 17:44:28.161 -0700 | NULL | +----------+------------+--------------+---------------+-------------------------------+-------------------------------+---------+
테이블 ID를 기준으로
my_table을 삭제 취소합니다. 마지막에서 두 번째로 삭제된 테이블을 복원하려면 이전 문의 출력에서 테이블 ID408578을 사용합니다. 다음 문을 실행하면 테이블이 원래 이름인my_table로 복원됩니다.UNDROP TABLE IDENTIFIER(408578);