oracle存储过程中使用临时表.Java链接oracle会话一直保持.会话级临时表不清空.下面详细描述

1/情景:我在oracle中建立会话级临时表.存储过程执行时需要插入数据到临时表.再由算法去把临时表的数据插入到正式表中,由Java执行存储过程.而Java链接oracl... 1/ 情景:我在oracle中建立会话级临时表.存储过程执行时需要插入数据到临时表.再由算法去把临时表的数据插入到正式表中,由Java执行存储过程.而Java链接oracle会话不会在执行完存储过程就断开,而是一直保持.那么临时表数据就不会清空,会影响第二次执行该存储过程.
2/ 如果我用事务级临时表,由于存储过程中有可能出现大量数据插入的情况,会有一个循环分批插入到正式表提交事务,这种时候就会出现临时表数据还没有完全插入到正式表中就被清空.比如需要循环三次把临时表数据插入到正式表中,但是第一次commit就直接把临时表清了.
情况大概就是这么个情况,求大神指点一条路.难道只有在存储过程里面手动truncate table?
展开
 我来答
784045448
2019-05-28
知道答主
回答量:22
采纳率:0%
帮助的人:4.9万
展开全部
临时表数据就不会清空,会影响第二次执行该存储过程,建议在临时表中添加对应的主键,去查询出来。
然后每晚truncate table释放空间
帐号已注销
推荐于2018-04-24 · 超过23用户采纳过TA的回答
知道答主
回答量:38
采纳率:100%
帮助的人:32.1万
展开全部
会话及临时表,一个连接上应该在执行完一个内容后断开会话从新建立会话,或者在会话中新建一个会话来执行存储过程。一个连接可有多个会话。
事物级临时表,应该是在每次循环时再向临时表写入数据,写入到物理表提交后,再下一个循环,而不是先向临时表写入数据再循环提交。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式