OCP-1Z0-051-V9.02-32题

32. Which CREATE TABLE statement is valid?
A. CREATE TABLE ord_details        
(ord_no NUMBER(2) PRIMARY KEY, 
item_no NUMBER(3) PRIMARY KEY, 
ord_date DATE NOT NULL);
B. CREATE TABLE ord_details        
(ord_no NUMBER(2) UNIQUE, NOT NULL, 
item_no NUMBER(3), 
ord_date DATE DEFAULT SYSDATE NOT NULL);
C. CREATE TABLE ord_details        
(ord_no NUMBER(2) , 
item_no NUMBER(3), 
ord_date DATE DEFAULT NOT NULL, 
CONSTRAINT ord_uq UNIQUE (ord_no), 
CONSTRAINT ord_pk PRIMARY KEY (ord_no));
D. CREATE TABLE ord_details 
(ord_no NUMBER(2), 
item_no NUMBER(3), 
ord_date DATE DEFAULT SYSDATE NOT NULL, 
CONSTRAINT ord_pk PRIMARY KEY (ord_no, item_no));
Answer: D

 

答案解析

A,一个表只有一个主键。A错。
sys@TEST0910> CREATE TABLE ord_details
  2  (ord_no NUMBER(2) PRIMARY KEY,
  3  item_no NUMBER(3) PRIMARY KEY,
  4  ord_date DATE NOT NULL);
item_no NUMBER(3) PRIMARY KEY,
                  *
ERROR at line 3:
ORA-02260: table can have only one primary key
 
B答案:UNIQUE, NOT NULL之间不要逗号,列级约束不要逗号,B错
sys@TEST0910> CREATE TABLE ord_details        
  2  (ord_no NUMBER(2) UNIQUE, NOT NULL,
  3  item_no NUMBER(3), 
  4  ord_date DATE DEFAULT SYSDATE NOT NULL);
(ord_no NUMBER(2) UNIQUE , NOT NULL,
                          *
ERROR at line 2:
ORA-00904: : invalid identifier
 
逗号去掉可以创建,成功
sys@TEST0910> CREATE TABLE ord_details
  2  (ord_no NUMBER(2) UNIQUE NOT NULL,
  3  item_no NUMBER(3),
  4  ord_date DATE DEFAULT SYSDATE NOT NULL);
 
Table created.
 
C答案,两处错误,一个DEFAULT 后面没有指定默认值,一个是ord_no列的UNIQUE 和PRIMARY KEY
sys@TEST0910> CREATE TABLE ord_details        
  2  (ord_no NUMBER(2) ,
  3  item_no NUMBER(3), 
  4  ord_date DATE DEFAULT NOT NULL,
  5  CONSTRAINT ord_uq UNIQUE (ord_no), 
  6  CONSTRAINT ord_pk PRIMARY KEY (ord_no));
ord_date DATE DEFAULT NOT NULL,
                      *
ERROR at line 4:
ORA-00936: missing expression
 
 
sys@TEST0910> CREATE TABLE ord_details
  2  (ord_no NUMBER(2) ,
  3  tem_no NUMBER(3),
  4  ord_date DATE DEFAULT sysdate NOT NULL,
  5  CONSTRAINT ord_uq UNIQUE (ord_no),
  6   CONSTRAINT ord_pk PRIMARY KEY (ord_no));
CONSTRAINT ord_uq UNIQUE (ord_no),
                  *
ERROR at line 5:
ORA-02261: such unique or primary key already exists in the table
 
 
sys@TEST0910> CREATE TABLE ord_details
  2  (ord_no NUMBER(2) ,
  3  tem_no NUMBER(3),
  4   ord_date DATE DEFAULT sysdate NOT NULL,
  5  CONSTRAINT ord_pk PRIMARY KEY (ord_no));
 
Table created.
 
 
D答案,正确
sys@TEST0910>  CREATE TABLE ord_details
  2  (ord_no NUMBER(2), 
  3  item_no NUMBER(3), 
  4  ord_date DATE DEFAULT SYSDATE NOT NULL,
  5  CONSTRAINT ord_pk PRIMARY KEY (ord_no, item_no));
 
Table created.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值