Oracle 临时表的创建与应用

来源:互联网 发布:js 模拟表单上传文件 编辑:程序博客网 时间:2024/06/08 19:34

1、利用查询的数据建立临时表:

 

  Create Global Temporary Table [TmpTbl] On Commit Delete Rows As Select * From [TableName];

 

2、将查询数据放到临时表内:

 

  Insert Into TmpTbl  Select * From [tableName] where [Condition];

 

3、查询临时表的数据:

 

  Select * From TmpTbl;

 

4、使用完毕后删除临时表:

 

   Drop Table TmpTbl;

 

临时表的应用,主要有两方面应用:

  对于一个电子商务类网站,不同消费者在网站上购物,就是一个独立的 SESSION,选购商品放进购物车中,最后将购物车中的商品进行结算。也就是说,必须在整个SESSION期间保存购物车中的信息。同时,还存在有些消费者,往往最终结账时放弃购买商品。如果,直接将消费者选购信息存放在最终表(PERMANENT)中,必然对最终表造成非常大的压力。

  因此,对于这种案例,就可以采用创建临时表( ON COMMIT PRESERVE ROWS )的方法来解决。数据只在 SESSION 期间有效,对于结算成功的有效数据,转移到最终表中后,ORACLE自动TRUNCATE 临时数据;对于放弃结算的数据,ORACLE 同样自动进行 TRUNCATE ,而无须编码控制,并且最终表只处理有效订单,减轻了频繁的DML的压力。

 

  Temp Table 的另一个应用,就是存放数据分析的中间数据。

 

 

 

原创粉丝点击