Oarcle之视图
视图
什么是视图?
(在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。
视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。
注释:数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。
注释:视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用 SQL 语句来重建数据。 ——括号内容来源于百度网络)
============================================================================================================================================
登录到sys账户给Scott赋予创建视图的权限
grant createview to scott;
视图的创建
create view v_emp_dept
as
select ename ,sal,job,dname,from emp,dept where emp.deptno = dept.deptno ;
视图也可以从视图产生
create view v_emp_dept_tem
as
select ename,sal from v_emp_dept
修改视图的数据,就是修改基表的数据
create or replace view v_emp
as
select empno,ename from emp
with read only
视图的优点:1可以使某些重复出现的SQL语句变得更为简单
视图的缺点:1如果修改基表的结构,视图失效
2增加数据库的维护成本
3视图会被覆盖掉
一般情况下,不要对视图进行DML操作(DML请参考‘2019年4月25日Oarcle之用户管理 与 DCL’)
视图的例子
select dname, grade
from (select deptno, avg_sal, grade
from (select deptno, avg(sal) avg_sal from emp group by deptno) t,
salgrade s
where t.avg_sal between s.losal and s.hisal) t1,
dept
where t1.deptno = dept.deptno
and t1.grade =
(select min(grade)
from (select deptno, avg_sal, grade
from (select deptno, avg(sal) avg_sal
from emp
group by deptno) t,
salgrade s
where t.avg_sal between s.losal and s.hisal));
为上面的SQL中重复出现的SQL语句创建视图
create view v_dept_avgsal
as
select deptno,avg_sal,grade
from (select deptno, avg(sal) avg_sal from emp group by deptno) t,
salgrade s
where t.avg_sal between s.losal and s.hisal
利用视图替换上面的sql语句
select dname, grade
from v$_dept_avgsal t1,
dept
where t1.deptno = dept.deptno
and t1.grade =
(select min(grade)
from v$_dept_avgsal);
删除视图所表示的基表
create view v$_aaa
as
select * from aaa;
删除表 aaa
drop table aaa;
查询视图
select * from v$_aaa;
删除视图 :v$_aaa
drop view v$_aaa;
Oarcle之视图的更多相关文章
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...
- ASP.NET Core 中文文档 第四章 MVC(3.8)视图中的依赖注入
原文:Dependency injection into views 作者:Steve Smith 翻译:姚阿勇(Dr.Yao) 校对:孟帅洋(书缘) ASP.NET Core 支持在视图中使用 依赖 ...
- 在WPF中使用依赖注入的方式创建视图
在WPF中使用依赖注入的方式创建视图 0x00 问题的产生 互联网时代桌面开发真是越来越少了,很多应用都转到了浏览器端和移动智能终端,相应的软件开发上的新技术应用到桌面开发的文章也很少.我之前主要做W ...
- ABP文档 - Mvc 视图
文档目录 本节内容: 简介 AbpWebViewPage 基类 简介 ABP通过nuget包Abp.Web.Mvc集成到Mvc视图里,你可以像往常那样创建常规的视图. AbpWebViewPage 基 ...
- 探索ASP.NET MVC5系列之~~~2.视图篇(上)---包含XSS防御和异步分部视图的处理
其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...
- 探索ASP.NET MVC5系列之~~~3.视图篇(下)---包含常用表单和暴力解猜防御
其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...
- SQL Server-聚焦在视图和UDF中使用SCHEMABINDING(二十六)
前言 上一节我们讨论了视图中的一些限制以及建议等,这节我们讲讲关于在UDF和视图中使用SCHEMABINDING的问题,简短的内容,深入的理解,Always to review the basics. ...
- SQL Server-聚焦使用视图若干限制/建议、视图查询性能问题,你懵逼了?(二十五)
前言 上一节我们简单讲述了表表达式的4种类型,这一系列我们来讲讲使用视图的限制,简短的内容,深入的理解,Always to review the basics. 避免在视图中使用ORDER BY 上一 ...
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
随机推荐
- BarTender 2016如何导出模板为pdf文件?
最近有小伙伴来问,BarTender 2016能不能导出模板为pdf文件?这个是可以的,之前针对BarTender 10.1就介绍过一种方法了.本文,小编再针对BarTender 2016给大家讲下如 ...
- puppet(1)-简介
puppet: 开源的.新一代的集中化的配置管理工具: 目标状态 配置语言 Luke Kanies,puppet labs bootstrap --> configuration --> ...
- Code::Blocks设置支持C++ 11
进入codeblocks,点击Settings --> Compiler..,进入如下页面 勾选“Have g++ follow the C++11 ISO language standard ...
- 《转载》JVM垃圾回收机制
本文转载自ImportNew - 郑雯 每个Java程序员迟早都会碰到下面这个错误: java.lang.OutOfMemoryError 这个时候一般会建议采用如下方式解决这个错误: 增加MaxPe ...
- css特效 - 环形文字
记一次群友问题和回答: 下面这种效果,文字是动态的,不能使用图片的情况下,前端怎么实现? 一.插件实现: arctext.js 教程地址:实现文字平滑弯曲弧形效果的插件-arctext.js 二.原生 ...
- 更改ORACLE归档路径及归档模式
更改ORACLE归档路径及归档模式 在ORACLE10g和11g版本,ORACLE默认的日志归档路径为闪回恢复区($ORACLE_BASE/flash_recovery_area).对于这个路径, ...
- 我的WafBypass之道(SQL注入篇)
原帖地址:https://xianzhi.aliyun.com/forum/read/349.html 0x00 前言 去年到现在就一直有人希望我出一篇关于waf绕过的文章,我觉得这种老生常 谈的话题 ...
- juqery 给本身的class加上一个class 或也可以实现关注商品,取消关注商品
$("#goods1").on("click",".ICON-fen-LOVE",function(){ var $this = $(thi ...
- Oracle课程档案,第十二天
死锁是由于两个对象在拥有一份资源的情况下申请另一份资源, 而另一份资源恰好又是这两对象正持有的,导致两对象无法完成操作,且所持资源无法释放. 阻塞是由于资源不足引起的排队等待现象. unso:撤销 c ...
- 强类型Dataset使用事务(改进原有方法)
以下部份转自:http://blog.csdn.net/nfbing/article/details/5803980 关于强类型Dataset的用法和好处,我就不再多说,网上关于这方面的资料很多 , ...