Oracle会话级临时表定义如下:

会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据。

1 误解一

不知道会话什么时候结束,以为是OracleConnection.Close()时会话就结束。

实际操作过程如下:

第一步,创建一个会话级的临时表

第二步,通过程序将另一个DB的数据,插入到当前的DB;调用存储过程,处理数据。处理完后,用SELECT语句,查询数据,并显示在页面上。

实际结果:

在一个网页窗口,做完第二步后。又打开第二个窗口,做第二步。发现数量成倍增长,临时表的数据没有清空。

解决方法:

INSERT到临时表数据前,truncate 临时表EXECUTE IMMEDIATE 'TRUNCATE TABLE MY_TEST_TEMP';,这样旧的数据清掉了,而且处理后数据可以再显示在页面上。

 

 

学习资源

ORACLE Temporary Tables临时表更适合做插入和查询操作

(http://space.itpub.net/8570952/viewspace-207199#xspace-tracks)

oracle temp table

(http://www.cnblogs.com/zqmingok/archive/2009/12/17/1626667.html)

一次使用临时表优化数据处理的过程

(http://www.cnblogs.com/zqmingok/archive/2009/12/17/1626673.html)

 

相关文章:

  • 2021-12-12
  • 2022-01-09
  • 2022-12-23
  • 2022-12-23
  • 2022-02-22
  • 2022-12-23
猜你喜欢
  • 2022-02-16
  • 2021-10-13
  • 2022-12-23
  • 2021-08-23
  • 2021-10-01
  • 2021-07-07
  • 2022-01-30
相关资源
相似解决方案