当前位置: 首页 > news >正文

安徽兴罗建设集团网站免费服务器主机

安徽兴罗建设集团网站,免费服务器主机,wordpress付费知识,wordpress 登录 新窗口1、视图的创建与使用 在所有进行的SQL语句之中,查询是最复杂的操作,而且查询还和具体的开发要求有关,那么在开发过程之中,程序员完成的并不是是和数据库的所有内容,而更多的是应该考虑到程序的设计结构。可以没有一个项…

1、视图的创建与使用
在所有进行的SQL语句之中,查询是最复杂的操作,而且查询还和具体的开发要求有关,那么在开发过程之中,程序员完成的并不是是和数据库的所有内容,而更多的是应该考虑到程序的设计结构。可以没有一个项目里边不会包含有复杂查询,那么程序员如何从复杂查询中解脱出来呢?

所以在这种情况下就提出了视图的概念。利用视图可以实现复杂SQL语句封装操作

所以视图的创建需要使用如下语法完成:

create [or replace] view 视图名称 as 子查询 

1.1 范例1:创建视图

范例1: 创建视图,下面这条语句的作用就是希望将10部门的所有雇员信息保存在视图之中

create view myview as select * from emp where deptno=10;

注意:在Orcale 10g及之前的版本,scott用户是可以直接进行视图创建的,但是从Oracle 10g r2版本开始,如果想要创建视图,那么就需要单独分配创建视图的权限

1.2 范例2:查询视图

select * from myview;

发现查询视图与之前直接使用select查询结果是完全相同的,所以视图就包装了SQL语句,而开发者可以通过视图简单地查询到所需要的数据

于是下面可以继续利用视图包装一个复杂的SQL

drop view myview;
create view myview
    as
select d.deptno,d.dname,d.loc,temp.count
from dept d,(select deptno,count(*) count
             from emp
             group by deptno) temp
where d.deptno=temp.deptno(+);

由于myview视图名称已经被占用了,所以理论上应该先删除,而后再创建一个新的视图。可以是删除和创建之间有可能产生间隔。所以在实际之中,由于视图使用频率较高,而且直接与开发有关系,那么一般情况下不会选择删除后再重新创建,而是选择进行视图的替换。利用新的查询替换掉旧的查询。

create or replace view myview
    as
select d.deptno,d.dname,d.loc,temp.count
from dept d,(select deptno,count(*) count
             from emp
             group by deptno) temp
where d.deptno=temp.deptno(+);

1.3 范例3:更新视图

实际上视图中只是包含有查询语句的临时数据,并不是真是存在的,可以在默认情况下创建的视图是可以直接进行修改操作的

create or replace view myview 
    as 
select * from emp where deptno=20;

更新视图中数据的部门编号(视图的存在条件)

update myview set deptno=30 where empno=7369;

发现此时更新了视图,结果导致emp表中的内容也发生了变化。所以为了保证视图的创建条件不能够被更新,则可以在创建视图的时候使用withcheck option子句

回滚一下 回复以前数据

rollback

接着在之前视图的基础上加上withcheck option 子句

create or replace view myview 
    as 
select * from emp where deptno=20
with check option;

此时使用了withcheck option 子句可以保证视图的创建条件不被更新,如果使用了更新,则将出现如下的错误

1.4 范例4: 修改其他字段

update myview set sal=80000 where empno=7369;

 

此时的操作的成功了,发现视图更新时,改变的是数据表中的数据,那么这样的做法同样也是不合理的。就好比给你发的一张工资条,你不满意,改成了80000,然后数据库的数据就变了,那多神奇啊

所以一般在创建视图的时候,由于里面都属于映射的数据,那么本质上就不建议其进行修改,最好的视图就是创建一个只读视图。使用with read only 子句完成

create or replace view myview 
    as 
select * from emp where deptno=20
with read only;

http://www.yayakq.cn/news/943459/

相关文章:

  • 做网站能赚多少钱抖音的商业营销手段
  • 做网站最下面写什么软件wordpress ap
  • 网站seo关键词排名优化视频号如何绑定小程序商店
  • 江西省城乡住房建设厅培训网站旅游网站建设网站
  • 在线免费网站wordpress 固定链接如何设置
  • 校园网站建设划分vlan工业和信息部网站备案
  • 腾讯云快速建站烟台做网站排名
  • 咋做黄页网站谷歌镜像网站怎么做
  • 网站网页是怎么做的物业管理系统业务流程图
  • iis如何用ip地址做域名访问网站医院网络营销推广方案
  • 企业网站建设的缺点自己制作小程序怎么做
  • dedecms模板站源码淘宝客wordpress引流
  • 汕头网站建站公司wordpress说说
  • 网站打开404错误怎么解决百度竞价排名名词解释
  • 织梦旅游网站教育机构招聘网站建设
  • .net 企业网站源码即墨网站建设招聘
  • 东莞seo建站怎么投放网络营销主要是什么
  • 站长统计幸福宝网站统计重庆今天刚刚发生的新闻
  • 长沙模板建站源码群晖ds1817做网站
  • 百度快照是怎么做上去的seo优化有哪些
  • 网站怎么做404 301怎样做元古建筑的网站结构图
  • 如何做公司的英文网站网站容易做吗
  • 免费做外贸的网站平台河南省建设执业资格中心网站
  • 南京个人网站建设wordpress免费 360插件
  • 网站后台 js框架网站开发的基本流程和步骤
  • 郑州营销网站黑群晖 frp wordpress 访问
  • 西安网站开发培训价格有什么做旅游攻略的网站好
  • 八年级信息网站怎么做wordpress添加可链接照片
  • 网站建设法律可行性河北建设集团
  • 延边州建设厅网站北京群体性聚集