问题 单项选择题

若用如下的SQL语句创建了一个表S:
CREATE TABLES(S# CHAR(6)NOT NULL,
SNAME CHAR (8) NOT NULL,SEX CHAR(2),AGE INTEGER)
今向S表插入如下行时,哪一行可以被插入 ( )。

A.('991001',‘李明芳’,女,'23')

B.('990746',“张为’,NULL,NULL)

C.(NULL,‘陈道一’,‘男’,32)

D.('992345',NULL,‘女’,25)

答案

参考答案:B

解析: 在SQL语句中SEX属性是字符类型、AGE属性是整型类型,而 A选项中,SEX属性值是非字符,AGE为字符,不符合用户完整性规则:C选项中,S#是主属性,按照实体完整性规则,主属性不能为空,所以C是不能插入的:D选项中,SNAME属性用户规定不能为空,但却为空,不符合用户完整性规则,也不能插入。

判断题
单项选择题