很简单,你在每个执行语句里都加一个COMMIT,也就是在整个存储过程里
加上十个COMMIT,这个办法是最笨的,但最有效
加上十个COMMIT,这个办法是最笨的,但最有效
解决方案 »
- 如何查询树状数据并排序
- 可以在sql语句中调用过程吗?
- 高手教我吧 或者给点思路 oracle中怎么把数据倒成sql的insert文
- 下面这段代码的:salary是不是在这个块外面也是有效的?
- 存储过程建立的错误
- 急,求访问bfile字段的方法
- 求助怎么写这个sql语句
- Oracle支不支持Left Join关键字阿
- Solaris下如何重新启动Oracle服务?
- 新手教程Oracle
- 什麼情況下select要求寫into語句???怎麼我的procedure老是提示我要寫into子句
- win2000 server装完oracle817.但服务里根本没有OracleManagementServer?
如果存储过程能够正常结束
那数据就一定会隐式提交到数据库中
相反不是存储过程执行异常就是你的哪一句话导致存储过程不能执行最后一条插入语句
在oracle中,最好不要这么做,这么做只会加大oracle的负担。
楼主的问题需要与他的过程与业务相关才能知道问题所在
呵呵,俺不是说了嘛,这个办法最笨嘛?!
不过在存储过程里显式提交的办法是一个叫SQL XPERT的工具提倡的
这个工具是QUEST公司出的。
/
insert.....
/
insert.....
/
insert.....
/
insert.....
/
insert.....
/
注意加个 exception段。
现在问题是程序可以正确结束(因为对数据的要求很严格,如果出错程序会自动停下来)用没有写入库中的数据单步调没问题,而且经过不确定的时间后数据库中有此纪录。程序中有commit程序每隔几秒钟就会调用一次,其他的数据没有问题,而且我也查到了原始数据正确。本人怀疑不是常见问题!!版本是8.1.7.2.1,过程用java调用
前两天也出现过这种情况,但是过一段时间程序可以将数据写到库里。这次是几个小时的纪录全部丢失(好在有补救方法)。
只有commit方法吗?和数据链路有关系吗?和内存有关系吗?(共享池,高速缓存)可以找到阿也吗?我想问一下具体情况!
不对不对,这个和执行插入的程序也有很在大关系。比如用JDBC或者ADO都能进行事务处理,如果在程序中使用了ADO或者JDBC的事务也会影响到提交。检查一下吧:)