You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

设置DATA_RETENTION_TIME_IN_DAYS=0的临时表能否执行UNDROP?

关于Snowflake临时表设0保留时间后UNDROP的问题

针对考试中的问题“用户将临时表的保留时间设为0并删除后,能否恢复该表?”,可以安全回答“是”。

原因说明

Snowflake中临时表的生命周期与创建它的会话绑定。即便将DATA_RETENTION_TIME_IN_DAYS设为0,在当前会话内执行DROP TABLE后,临时表的元数据并不会立即被彻底清理,因此仍可通过UNDROP TABLE命令恢复该表。只有当会话结束后,临时表才会被永久删除,此时无法再恢复。

测试验证代码

CREATE temporary TABLE employees_tempo(
    employee_id NUMBER,
    name         STRING,
    department   STRING,
    salary       NUMBER(10,2)
);
    
INSERT INTO employees_tempo VALUES
(1, 'Alice', 'HR', 65000),
(2, 'Bob', 'IT', 80000),
(3, 'Carol', 'Finance', 90000);
    
-- 验证表数据(修正原测试代码中的表名错误)
select * from employees_tempo;
    
ALTER TABLE employees_tempo
SET DATA_RETENTION_TIME_IN_DAYS = 0;
    
drop table employees_tempo;
    
undrop table employees_tempo;

注:测试需确保在临时表创建的同一会话内执行UNDROP操作,跨会话则无法恢复。

内容的提问来源于stack exchange,提问作者Slim yaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 18:42:06