当前位置:网站首页 > 技术博客 > 正文

oracle视图的作用能否提高查询效率



在这里插入图片描述

创建视图:

 

关键字解释:

 

基础数据:

 

查询&删除视图:

 

创建视图语句:

 

执行结果:
在这里插入图片描述
加上 force 后,执行成功

 
  • 小提示: 此时的 view 是 无效的哦,只有当 f_get_class_no 函数执行后,才是有效的。
 

按顺序部署 pkg 中的方法:f_get_class_no(实际开发中,函数 是放在 pkg 里面的,此处仅作为测试使用)

 

查询视图:

 

查询结果:
在这里插入图片描述

通常情况下,我们都只会对视图只会进行查询操作,但是要了解,视图也是可以进行 insert、update、delete 的哦,只是限制条件很多。

  • 符合情况:“简单的视图” -> 视图中仅含一张基表,无其它约束检查

创建视图语句:

 

测试语句:()

 

测试结果:
在这里插入图片描述

个人理解:

  • 判断的依据:。
  • 一般情况下,我们只会对视图进行查询,不做 dml 操作,所以此处了解即可。
  • 大致有下列情况(也许你见过别人说的其它情况,但一切要以自己实际动手的案例为主!)
不符合的情况理解多个基表连接规定(扩展:可通过 instead of 触发器进行 dml 操作)存在虚拟列基表中没有,通过表达式,rowid、rownum 等计算得到的存在 not null 列不在视图中很好理解,若不是,则违反了基表的 非空约束
  • 检查选项: 视图中进行 dml 操作时,必须要符合 where 的限制条件

个人理解:

 

基础数据:

 

视图代码:

 

测试语句:

 

测试结果:
在这里插入图片描述

  • 检查选项: 只读视图,禁止 dml 操作

创建视图语句:

 

测试语句:

 

测试结果:
在这里插入图片描述

版权声明


相关文章:

  • linux ioctl函数详解2024-12-27 19:30:04
  • 弹性负载均衡系统支持三种调度算法2024-12-27 19:30:04
  • c udp发送数据2024-12-27 19:30:04
  • linux kernel pwn2024-12-27 19:30:04
  • actionscript菜鸟教程2024-12-27 19:30:04
  • 数组指针的用法二维数组2024-12-27 19:30:04
  • memtest内存检测2024-12-27 19:30:04
  • json 字典区别2024-12-27 19:30:04
  • 对字符串进行切割2024-12-27 19:30:04
  • c++string数组用法2024-12-27 19:30:04