flashback table to before drop外键约束无法恢复的原因分析

简介:         在oracle中,表被drop掉后,是可以通过flashback命令把表从回收站中还原回来的,还原之后的表唯独少掉了参考完整性约束。

        在oracle中,表被drop掉后,是可以通过flashback命令把表从回收站中还原回来的,还原之后的表唯独少掉了参考完整性约束。至于oracle为什么会舍弃参考完整性约束,我们仔细想想就可以明白了。

       表被drop掉后,相关联的父表中的数据就可以删除了,假如父表中的记录被删除了一部分,如果flashback子表的时候,把外键约束一起恢复的话,势必会造成被还原的数据中存在找不到父项的记录,oracle为了完整的flashback整个表,所以丢弃了参考完整性约束。

目录
相关文章
|
关系型数据库 MySQL 数据库
对于mysql数据库delect from,truncate table,drop table, update操作的时候如何选择
对于mysql数据库delect from,truncate table,drop table, update操作的时候如何选择
290 2
|
5月前
|
SQL 数据管理 数据库
DROP 和 TRUNCATE 命令的详细区别
【8月更文挑战第31天】
538 0
|
Oracle 关系型数据库
【Flashback】使用视图快速获得Flashback Query闪回查询数据
本文给出使用视图协助我们快速构造闪回查询内容,通过视图可以方便的检索“历史上的数据”。 1.构造闪回查询视图需求描述 1)准备员工表和工资表 2)删除工资表中雇佣年限在1994年之前的记录 3)创建视图可以查询工资表删除之前的记录 2.准备环境 1)准备员工表和工资表 sec@ora10g> create table emp (id number,name varchar2(20), e_date date); Table created. sec@ora10g> create table salary (id number, salary number); Table create
142 0
|
SQL Oracle 关系型数据库
flashback table肯定会造成rowid跟着修改
flashback table肯定会造成rowid跟着修改,为什么要开启行移动?