在oracle11g中,更新子表数据的时候我把子表的内码全部更新成一个值了,66万多条了,忘了加where条件了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在oracle11g中,更新子表数据的时候我把子表的内码全部更新成一个值了,66万多条了,忘了加where条件了相关的知识,希望对你有一定的参考价值。

子表还和很多张表关联了,有什么办法能恢复过来吗?只恢复这一个字段的值,急急急!!!

参考技术A 如果未commit,可以用rollback
如果提交了,如果开启了闪回功能,可以用flashback table
或者select * from table as of timestamp to_timestamp() 查询你修改时间之前的版本

或者flash back database
或者将你的数据库备份从另一个机器上还原,把数据查出来,在导入或更新到当前库.

基本就这些办法.追问

还原也只能 还原到昨天的,今天做的数据也好多了,就不行了,今天的数据还很重要,涉及好多金额了,用闪回了,也不行,数据已经更新了

应用子表时如何将开窗查询事件做成多选?

应用子表开窗事件选择的时候,如何将开窗查询事件做成多选?

 

其实,做一些改造就能达到效果哦

修改SheetTextBox.js ListMasterCallBack 函数,将设置控件的值逻辑改为以下方式

检测某个主键字段,是否已经在子表数据存在,如果不存在,则调用子表的新增行方法,将开窗选中行的数据写入新增的子表行中;如果检测某个主键字段值已经在子表中存在,则更新这一行数据;

ListMasterCallBack 去除自动关闭窗体代码以便仍然可以继续双击;

 

 

以上是关于在oracle11g中,更新子表数据的时候我把子表的内码全部更新成一个值了,66万多条了,忘了加where条件了的主要内容,如果未能解决你的问题,请参考以下文章

Oracle数据库,关于关联两张表更新问题

通过在Oracle子表外键上建立索引提高性能

oracle 11g导出少了空表,原因分析

oracle查询包含在子表中的主表数据

主表和子表是一对多,查询主表数据以及子表的某一条数据

Oracle 11g 中数据库视图的更新频率