临时表的创建可以用来保留仅在事务或会话周期内存在的会话私有数据。
CREATE GLOBAL TEMPORARY TABLE命令可以创建特定事务或会话的临时表,对于特定事务或会话的临时表,数据仅存在事务或会话周期内,且为会话私有数据,每个会话仅能看到或修改自己拥有的数据。临时表数据上不能获得DML锁。
用来控制临时表行周期的子句为:
ON COMMIT DELETE ROWS:用来指定行仅能在事务内可见
ON COMMIT PRESERVE ROWS:用来指定行在整个会话可见
你可以在临时表上建立索引、视图和触发器,并且可以用export或import来导出或导入临时表的定义,但是数据不可导入导出,尽管你使用ROWS选项。临时表的定义对于所有的session都是可见的。