使用Oracle基于session的临时表要注意的问题

   在Oracle中有两种临时表,一种是基于session,就是当出现commit之后,数据就会被清空;一种是基于session,当session断开后,数据会被清空。

--基于事务的临时表

create global temporary table test
(
  ID   number
)
on commit delete rows;


--基于session的临时表
create global temporary table test
(
  ID   number
)

on commit preserve rows;

   如果你的系统架构是三次架构,有连接池概念的,如  weblogic+oracle这种架构,其实session是不会退出的,只是请求完毕后,将session还给连接池。如果你操作基于session的临时表,每次操作完表后不做删除操作。那数据会一直累积。最好的做法是使用完以后truncate,今天在测试环境上使用系统测试发现的问题。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。