关于闪回技术对约束的影响的研究

简介: 根据这个题目 作如下实验: SQL> create table t1 (id number primary key,name varchar2(20));表已创建。

img_9cd09a05553b278321fb32876c2c1b07.jpg

根据这个题目 作如下实验:

SQL> create table t1 (id number primary key,name varchar2(20));
表已创建。
SQL> insert into t1 values(1,'sales');
已创建 1 行。
SQL> insert into t1 values(2,'teach');
已创建 1 行。
SQL> commit;
提交完成。
SQL> create table e (eid number primary key,ename varchar2(20),depno number references t1(id));
表已创建。
SQL> insert into e values (1,'KING',1);
已创建 1 行。
SQL> insert into e values (2,'HARI',2);
已创建 1 行。

SQL> insert into e values (1,'KING',3);
insert into e values (1,'KING',3)
*
第 1 行出现错误:

ORA-02291: 违反完整约束条件 (SCOTT.SYS_C009983) - 未找到父项关键字
SQL> COMMIT;
提交完成。
SQL> select * from t1;

        ID NAME                                                                
---------- --------------------                                                
         1 sales                                                               
         2 teach                                                               

SQL> select * from e;

       EID ENAME                     DEPNO                                     
---------- -------------------- ----------                                     
         1 KING                          1                                     
         2 HARI                          2                                     

SQL> conn system/yang as sysdba
已连接。
SQL> show parameter bin

NAME                                 TYPE        VALUE                         
------------------------------------ ----------- ------------------------------
recyclebin                           string      on                            
SQL> drop table scott.e;
表已删除。
SQL> select * from scott.e;
select * from scott.e
                    *
第 1 行出现错误:
ORA-00942: 表或视图不存在

SQL> flashback table scott.e to before drop;
闪回完成。
SQL> conn scott/yang
已连接。
SQL> insert into e values(2,'cott',1);
insert into e values(2,'cott',1)
*
第 1 行出现错误:
ORA-00001: 违反唯一约束条件 (SCOTT.BIN$LtV86d/tTneZXApzOMr+5w==$0)

SQL> select * from e;

       EID ENAME                     DEPNO                                     
---------- -------------------- ----------                                     
         1 KING                          1                                     
         2 HARI                          2                                     
SQL> insert into e values(3,'cott',55);
已创建 1 行。

由此可以得出结论:闪回表对以前建立在该表上的唯一约束没有影响,也即闪回时也闪回该表的唯一约束。但是不闪回该表的完整约束条件。

上面的答案是 D.

img_e25d4fb2f8de1caf41a735ec53088516.pngviewfile.jpg

目录
相关文章
|
1月前
|
机器学习/深度学习 编解码 算法
Sora视频重建与创新路线问题之视频生成中的对象时间一致性该如何保证
Sora视频重建与创新路线问题之视频生成中的对象时间一致性该如何保证
|
1月前
|
机器学习/深度学习 编解码
Sora视频重建与创新路线问题之模型以处理更长的视频并保持时间一致性如何优化
Sora视频重建与创新路线问题之模型以处理更长的视频并保持时间一致性如何优化
|
18天前
|
存储 数据管理 数据库
约束:数据库完整性的守护者
【8月更文挑战第31天】
3 0
|
3月前
|
存储 缓存 分布式数据库
数据库性能优化方向的三大类别
【6月更文挑战第6天】本文介绍了数据库优化策略,包括集中式数据库的反规范化设计(如增加冗余列、派生列、重组合表、水平和垂直分表)和数据一致性保障;这些方法旨在提升性能、确保数据安全和适应大规模数据场景。
85 1
数据库性能优化方向的三大类别
|
4月前
|
存储 安全 关系型数据库
4个MySQL优化工具AWR,帮你准确定位数据库瓶颈!
4个MySQL优化工具AWR,帮你准确定位数据库瓶颈!
86 0
|
4月前
|
SQL 数据库 索引
聚簇索引的优化策略与注意事项:挖掘性能潜力的关键
聚簇索引的优化策略与注意事项:挖掘性能潜力的关键
|
调度
【机会约束、鲁棒优化】机会约束和鲁棒优化研究优化【ccDCOPF】研究(Matlab代码实现)
【机会约束、鲁棒优化】机会约束和鲁棒优化研究优化【ccDCOPF】研究(Matlab代码实现)
143 0
|
SQL Oracle 安全
Oracle优化01-引起数据库性能问题的因素
Oracle优化01-引起数据库性能问题的因素
153 0
【SQL开发实战技巧】系列(七):从有重复数据前提下如何比较出两个表中的差异数据及对应条数聊起
本篇文章讲解的主要内容是:***如果有重复数据如何检查出两个表中的差异数据及对应条数、表连接做聚合容易出现重复计算的错误、多表查询空值处理问题、NOT IN的子查询范围不能是空值,否则查询结果为空。***
【SQL开发实战技巧】系列(七):从有重复数据前提下如何比较出两个表中的差异数据及对应条数聊起
|
算法 关系型数据库 数据库
数据库优化器原理 - 如何治疗选择综合症
标签 PostgreSQL , 单列索引 , 复合索引 , 优化器 , 成本因子 背景 RBO -> CBO -> 动态优化 经常听到这样的声音:“查询慢?加个索引吧。”,虽然话不专业,但是体现了早期基于RBO(基于规则)的优化器思维。
5385 0