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)
);
答案:D
解析:
A:错误,一张表主键只能有一个
B:错误,唯一键和not null 中间不需要使用空格
C:错误,默认值没有填写
D:正确
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)
);
答案:D
解析:
A:错误,一张表主键只能有一个
B:错误,唯一键和not null 中间不需要使用空格
C:错误,默认值没有填写
D:正确