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);