问题
单项选择题
若用如下的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属性用户规定不能为空,但却为空,不符合用户完整性规则,也不能插入。