“临时表的生命周期”取决于你使用的是哪种数据库,以及临时表的类型。下面按常见数据库分别说明:
CREATE TEMPORARY TABLE)DROP TEMPORARY TABLEGROUP BY、DISTINCT、UNION 等时自动创建CREATE TEMPORARY TABLE)CREATE TEMP TABLE t (...) ON COMMIT PRESERVE ROWS; -- 默认
CREATE TEMP TABLE t (...) ON COMMIT DELETE ROWS; -- 事务结束清数据
CREATE TEMP TABLE t (...) ON COMMIT DROP; -- 事务结束删表
CREATE GLOBAL TEMPORARY TABLE t (...)
ON COMMIT DELETE ROWS;
CREATE GLOBAL TEMPORARY TABLE t (...)
ON COMMIT PRESERVE ROWS;
Oracle 临时表结构是全局的,数据是会话/事务隔离的
#table)##table)| 数据库 | 临时表类型 | 生命周期 |
|---|---|---|
| MySQL | TEMPORARY TABLE | 会话级 |
| MySQL | 内部临时表 | 单条 SQL |
| PG | TEMP TABLE | 会话 / 事务(可配) |
| Oracle | GLOBAL TEMP | 事务 / 会话 |
| SQL Server | #table | 会话级 |
| SQL Server | ##table | 最后一个引用会话结束 |
如果你能说明具体数据库 + 使用场景(如存储过程、批处理、并发查询),我可以给你更精确的建议。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。