|
|
51CTO旗下网站
|
|
移动端

4.20.2 在什么情况下可以对视图执行增加、删除、修改操作?

《数据库程序员面试笔试宝典》第4章数据库基础,本章主要介绍数据库基础部分的面试题,比较适合应届毕业生,也适合由其他岗位转数据库岗位的人员。本节为大家介绍在什么情况下可以对视图执行增加、删除、修改操作。

作者:猿媛之家来源:机械工业出版社|2018-11-09 17:57

4.20.2 在什么情况下可以对视图执行增加、删除、修改操作?

视图对于DML 操作应遵循的原则如下。

1)简单视图可以执行DML 操作。

2)当视图包含GROUP BY 子句、DISTINCT 关键字时,不能执行DELETE 操作。

3)当视图出现下列情况时,不能通过视图修改基表或插入数据到基表:

① 视图中包含GROUP BY 子句、DISTINCT 关键字。

② 视图中包含了由表达式定义的列。

③ 视图中包含了ROWNUM 伪列(针对Oracle 数据库)。

④ 基表中未在视图中选择的其他列定义为非空且无默认值。

DROP VIEW VIEW_NAME 语句用来删除视图,事实上,删除视图只是删除了视图的定义而不影响基表中的数据。只有视图所有者和具备DROP VIEW 权限的用户,才可以删除视图。当视图被删除后,基于被删除视图的其他视图或应用程序将无效。

【真题27】在视图上不能完成的操作是( )。

A.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图

答案:C。

对于选项A,简单视图可以执行DML 操作,所以选项A 错误。对于选项B,视图的作用就是利于查询,所以选项B 错误。对于选项C,表是实际存在的占用存储空间的段,不能建立在视图之上,所以选项C 正确。对于选项D,基于视图还可以在之上再建立新的视图,所以选项D 错误。

【真题28】在SQL 语言中,删除一个视图的命令是( )。

A.DELETE B.DROP C.CLEAR D.REMOVE

答案:B。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

218人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

83人订阅学习

Mysql DBA修炼之路

Mysql DBA修炼之路

MySQL入门到高阶
共24章 | 武凤涛

471人订阅学习

读 书 +更多

网管第一课——网络组建与管理

本书针对初级网管朋友所需掌握的网络组建和网络管理技能,以示例方式编写而成,其主要特点就是实用性和可操作性非常强。 全书共分8章,分...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客