OCP 1Z0 051 30

来源:互联网 发布:淘宝在美国 编辑:程序博客网 时间:2024/04/30 10:40
30. Evaluate the following CREATE TABLE commands: 
CREATE TABLE orders 
(ord_no NUMBER(2) CONSTRAINT ord_pk PRIMARY KEY, 
ord_date DATE, 
cust_id NUMBER(4)); 
CREATE TABLE ord_items 
(ord_no NUMBER(2), 
item_no NUMBER(3), 
qty NUMBER(3) CHECK (qty BETWEEN 100 AND 200), 
expiry_date date CHECK (expiry_date > SYSDATE), 
CONSTRAINT it_pk PRIMARY KEY (ord_no,item_no), 
CONSTRAINT ord_fk FOREIGN KEY(ord_no) REFERENCES orders(ord_no)); 
The above command fails when executed. What could be the reason? 
A. SYSDATE cannot be used with the CHECK constraint. 
B. The BETWEEN clause cannot be used for the CHECK constraint. 
C. The CHECK constraint cannot be placed on columns having the DATE data type. 
D. ORD_NO and  ITEM_NO cannot be used as a composite primary key because ORD_NO  is also the FOREIGN KEY. 
SQL> CREATE TABLE orders  2  (ord_no NUMBER(2) CONSTRAINT ord_pk PRIMARY KEY,  3  ord_date DATE,  4  cust_id NUMBER(4));Table createdSQL> CREATE TABLE ord_items  2  (ord_no NUMBER(2),  3  item_no NUMBER(3),  4  qty NUMBER(3) CHECK (qty BETWEEN 100 AND 200),  5  expiry_date date CHECK (expiry_date > SYSDATE),  6  CONSTRAINT it_pk PRIMARY KEY (ord_no,item_no),  7  CONSTRAINT ord_fk FOREIGN KEY(ord_no) REFERENCES orders(ord_no));CREATE TABLE ord_items(ord_no NUMBER(2),item_no NUMBER(3),qty NUMBER(3) CHECK (qty BETWEEN 100 AND 200),expiry_date date CHECK (expiry_date > SYSDATE),CONSTRAINT it_pk PRIMARY KEY (ord_no,item_no),CONSTRAINT ord_fk FOREIGN KEY(ord_no) REFERENCES orders(ord_no))ORA-02436: 日期或系统变量在 CHECK 约束条件中指定错误SQL> SQL> CREATE TABLE ord_items  2  (ord_no NUMBER(2),  3  item_no NUMBER(3),  4  qty NUMBER(3) CHECK (qty BETWEEN 100 AND 200),  5  expiry_date DATE,  6  CONSTRAINT it_pk PRIMARY KEY (ord_no,item_no),  7  CONSTRAINT ord_fk FOREIGN KEY(ord_no) REFERENCES orders(ord_no));Table created
不可预期的值不能当作check的条件
Answer: A 
0 0