AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 单选题-国网运维资质 题目详情
CAE3E3902240000112B5ECF07CC4EB90
单选题-国网运维资质
817
单选题

在Oracle中,使用以下语句创建视图: CREATE OR REPLACE VIEW pen_view AS SELECT * FROM order_master WHERE ostatus = ‘p’ WITH CHECK OPTION CONSTRAINT penv; 当用户试图执行以下语句: UPDATE pen_view SET ostatus = ‘d’ WHERE ostatus=’p’; 下列描述正确的是(  )。

A
Oracle将ostatus修改为d,不提示任何错误
B
Oracle不执行更新操作,并返回错误信息
C
Oracle将ostatus修改为d,同时返回错误信息
D
Oracle不执行更新操作,也不提示任何错误

答案解析

正确答案:B

解析:

### 视图与“WITH CHECK OPTION”
1. **视图的定义**:
- 视图是一个虚拟表,它是基于一个或多个表的查询结果。通过视图,用户可以简化复杂的查询,或者限制用户对数据的访问。
2. **WITH CHECK OPTION**:
- 当创建视图时,如果使用了“WITH CHECK OPTION”,这意味着任何对该视图的插入或更新操作必须满足视图的定义条件。
- 在这个例子中,视图`pen_view`只包含`order_master`表中`ostatus`为`'p'`的记录。
### 题目分析
题目中的SQL语句是:
```sql
UPDATE pen_view SET ostatus = 'd' WHERE ostatus = 'p';
```
- 这个更新操作试图将`ostatus`从`'p'`修改为`'d'`。
- 由于视图`pen_view`只允许`ostatus`为`'p'`的记录存在,任何试图将其修改为其他值(如`'d'`)的操作都会违反“WITH CHECK OPTION”的约束。
### 选项分析
- **A: Oracle将ostatus修改为d,不提示任何错误**
这个选项是错误的,因为更新操作会被拒绝。
- **B: Oracle不执行更新操作,并返回错误信息**
这个选项是正确的。由于“WITH CHECK OPTION”,Oracle会检查更新后的数据是否仍然符合视图的条件,发现不符合后会拒绝更新并返回错误。
- **C: Oracle将ostatus修改为d,同时返回错误信息**
这个选项是错误的,因为更新操作根本不会执行。
- **D: Oracle不执行更新操作,也不提示任何错误**
这个选项也是错误的,因为Oracle会返回错误信息。
### 深入理解
为了更好地理解这个知识点,我们可以用一个生动的例子来说明:
想象一下,你在一个图书馆工作,图书馆有一个特别的区域,只允许借阅“科幻”类书籍。你创建了一个“科幻书籍”列表(视图),并规定只有“科幻”类书籍可以在这个列表中。
如果有人试图将某本书的类别从“科幻”改为“历史”,图书馆的系统会立即拒绝这个请求,并告诉他们:“抱歉,这本书不再符合‘科幻书籍’的条件。”
这个例子就类似于在Oracle中使用“WITH CHECK OPTION”的情况。系统会确保所有的更新操作都符合视图的定义条件。
### 总结
题目纠错
单选题-国网运维资质

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码