首页 > 代码库 > Oracle- 临时表

Oracle- 临时表

  在Oracle中,临时表分为会话级和事务级两种,会话级的临时表数据在整个会话都存在,直到结束会话结束;而事务级的临时表数据在事务结束后消失,即COMMIT/ROLLBACK或结束会话都会清除数据。

 -----------------------------------------------------------------------------------------------
 --建立事务级的临时表
 --删除事务级的临时表
 drop table admin_work_area
 
 --创建事务级的临时表
 CREATE GLOBAL TEMPORARY TABLE admin_work_area
 (
        startdate DATE,
          enddate DATE,
          class CHAR(20))
       ON COMMIT DELETE ROWS;

 
 --插入数据
 insert into admin_work_area values(sysdate,sysdate,‘temperary table‘);

 --查询出数据
 select * from admin_work_area;
 --提交(则刚插入的数据会清空)
 commit;
-------------------------------------------------------------------------------------------------

 --建立会话级临时表
 --删除会话级临时表
 truncate table  admin_work_area;
 drop table  admin_work_area;
 
 CREATE GLOBAL TEMPORARY TABLE admin_work_area
 (
       startdate DATE,
       enddate DATE,
       class CHAR(20)
 )ON COMMIT PRESERVE ROWS;
 
 --插入数据    
 insert into admin_work_area values(sysdate,sysdate,‘session temperary‘);
 
 SELECT * FROM admin_work_area;
 --提交(刚插入的数据依然在)
 commit;
 
 

Oracle- 临时表