首批通过分布式安全可靠测评,为关键业务系统打造
临时表
更新时间:2026-07-15 20:42:45
OceanBase 数据库 Oracle 模式临时表保存仅在事务或会话期间存在的数据。
全局临时表简介
全局临时表用于保存一段时间内的数据,这里的一段时间可以是事务的生命周期也可以是 Session 的生命周期。
全局临时表的列定义可以对所有 Session 可见。但是,全局临时表中的数据是 Session 私有的,当前 Session 只能看到和修改自己的数据。
例如,在学生选课场景中,使用临时表来临时保存选课内容。在会话期间,选课数据是私有的。当学生确认选课列表时,应用程序将选课信息从临时表移动到普通表中。在会话结束时,数据库会自动删除全局临时表中的数据。
全局临时表的创建方法
用户可以通过 CREATE GLOBAL TEMPORARY TABLE 语句创建全局临时表,通过 ON COMMIT 子句控制是事务临时表还是 Session 临时表,具体如下:
ON COMMIT DELETE ROWS:事务级临时表,提交时删除数据。ON COMMIT PRESERVE ROWS:会话级临时表,会话结束时删除数据。
全局临时表可以创建索引,全局临时表的索引表的数据也是临时性的,数据也是 Session 私有的。
临时外表
临时外表是一种在查询过程中临时创建的外表,用于读取数据,查询结束后该表会被自动删除。
OceanBase 数据库在 V4.3.5 BP1 版本支持了通过 SELECT URL 和 LOAD DATA 语句读取或导入外表数据的功能。