驗證一個052考試題

warehouse發表於2018-07-26

8 、Examine the following statement:

SQL> ALTER TABLE SALES MODIFY CONSTRAINT pk DISABLE VALIDATE; 

Which three statements are true?

A)Rows may be inserted into the table.

B) The PK index is made unusable.

C)The PK index is dropped.

D)The constraint is still enforced for updated rows. 

E)The constraint is still enforced for inserted rows.

Answer:CDE

--=====================

SQL> create table tt(id int primary key) ;

表已建立。

SQL> desc dba_constraints
 名稱                                      是否為空? 型別
 ----------------------------------------- -------- ----------------------------
 OWNER                                              VARCHAR2(60)
 CONSTRAINT_NAME                           NOT NULL VARCHAR2(30)
 CONSTRAINT_TYPE                                    VARCHAR2(1)
 TABLE_NAME                                NOT NULL VARCHAR2(30)
 SEARCH_CONDITION                                   LONG
 R_OWNER                                            VARCHAR2(60)
 R_CONSTRAINT_NAME                                  VARCHAR2(30)
 DELETE_RULE                                        VARCHAR2(9)
 STATUS                                             VARCHAR2(8)
 DEFERRABLE                                         VARCHAR2(14)
 DEFERRED                                           VARCHAR2(9)
 VALIDATED                                          VARCHAR2(13)
 GENERATED                                          VARCHAR2(14)
 BAD                                                VARCHAR2(3)
 RELY                                               VARCHAR2(4)
 LAST_CHANGE                                        DATE
 INDEX_OWNER                                        VARCHAR2(30)
 INDEX_NAME                                         VARCHAR2(30)
 INVALID                                            VARCHAR2(7)
 VIEW_RELATED                                       VARCHAR2(14)

SQL> SELECT CONSTRAINT_NAME,CONSTRAINT_type from dba_constraints where table_name='TT';

CONSTRAINT_NAME                C
------------------------------ -
SYS_C006993                    P

SQL> alter table tt modify constraint SYS_C006993 disable validate;

表已更改。

SQL> SELECT CONSTRAINT_NAME,CONSTRAINT_type,status from dba_constraints where table_name='TT';

CONSTRAINT_NAME                C STATUS
------------------------------ - --------
SYS_C006993                    P DISABLED

SQL> SELECT CONSTRAINT_NAME,CONSTRAINT_type,status,validated from dba_constraints where table_name='TT';

CONSTRAINT_NAME                C STATUS   VALIDATED
------------------------------ - -------- -------------
SYS_C006993                    P DISABLED VALIDATED

SQL> SELECT CONSTRAINT_NAME,CONSTRAINT_type,status,validated,index_name from dba_constraints where table_name='TT';

CONSTRAINT_NAME                C STATUS   VALIDATED
------------------------------ - -------- -------------
INDEX_NAME
------------------------------
SYS_C006993                    P DISABLED VALIDATED


SQL> set linesize 120
SQL> SELECT CONSTRAINT_NAME,CONSTRAINT_type,status,validated,index_name from dba_constraints where table_name='TT';

CONSTRAINT_NAME                C STATUS   VALIDATED     INDEX_NAME
------------------------------ - -------- ------------- ------------------------------
SYS_C006993                    P DISABLED VALIDATED

SQL> select index_name from dba_indexes where table_name='TT';

未選定行

SQL> insert into tt values(1);
insert into tt values(1)
*
第 1 行出現錯誤:
ORA-25128: 不能對帶有禁用和驗證約束條件 (XYS.SYS_C006993) 的表進行插入/更新/刪除


SQL>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-2158795/,如需轉載,請註明出處,否則將追究法律責任。

相關文章