问题 单项选择题

设有关系模式:student(sno,sname,age,dept),现利用命令:
CREATE VIEW stu AS SELECT*FROM student WHERE dept="CS"WITH CHECK OPTION
创建了一个视图。则下TSQL命令巾能正确执行的是()

A. UPDATE stu SET dept="maths"

B. UPDATE stu SET dept="maths" WHERE age>=20

C. INSERT INTO stu VALUES("2004001","John",30,"cs")

D. INSFRT INTO stu VALUES("2004001","John",50,"maths")

答案

参考答案:C

解析:

SQL语言用CREATE VIEW命令创建视图,其一般格式为:

CREATEVIEW<视图名>[(<列名>[,<列名>]…)]

AS<子查询> [WITH CHECK OPTION];

其中SELECT语句不允许含有ORDER BY子句和DISTINCT短语。WITH(2HECK OPTION表示对视图进行L3PDATE、INSERT和DELETE操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即查询中的条件表达式)。本题的4个选项中A、B、D显然都不满足条件WHERE dept="cs",所以只有C是正确的。

问答题 简答题
多项选择题