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

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

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

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.

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

上一篇:Joomla基础:如何安装Joomla模板


下一篇:应用:字符串的输入(1702)