Oracle快速入门(视图)

   日期:2020-09-08     浏览:88    评论:0    
核心提示:一、视图1、视图概念是对查询结果的一个封装视图里面所有的数据,都是来自于原表,来自于它查询的那张表,视图本身不存储任何数据。2、功能(1)能够封装复杂的查询结果(2)屏蔽表中的细节3、语法:create {or replace} view 视图的名称 as 查询语句 {with read only};4、模拟视图屏蔽内容的方式5、创建一个视图create or replace view view_test1 as select ename,job,mgr from emp;6、

一、视图

1、视图概念

是对查询结果的一个封装

视图里面所有的数据,都是来自于原表,来自于它查询的那张表,视图本身不存储任何数据。

2、功能

(1)能够封装复杂的查询结果
(2)屏蔽表中的细节

3、语法:

create {or replace} view 视图的名称 as 查询语句 {with read only};

4、模拟视图屏蔽内容的方式

5、创建一个视图

create or replace view view_test1 as select ename,job,mgr from emp;

6、查看创建的视图(屏蔽了表当中的细节)

7、通过视图修改数据

update view_test1 set ename = 'SMITH2' where ename = 'SMITH';

修改视图当中的数据以后,视图的数据和原表当中的数据都会发生改变

select * from view_test1;

select * from emp;

8、注意:通常不要通过视图修改数据,视图创建的时候,通常要加上with read only

9、创建一个只读视图

create or replace view view_test2 as select ename,job,mgr from emp with read only;

10、查看这个只读视图

select * from view_test2;

11、修改这个只读视图

update view_test2 set ename = 'SMITH3' where ename = 'SMITH2';

报错,设置只读视图后不能修改

12、视图封装的复杂语句

create view view_test3 as select 
       sum(cc) "TOTAL",
       sum(case yy when '1980' then cc end) "1980",
       sum(case yy when '1981' then cc end) "1981",
       sum(case yy when '1982' then cc end) "1982",
       sum(case yy when '1987' then cc end) "1987"
from 
       (select to_char(hiredate,'yyyy') yy,count(1) cc from emp group by to_char(hiredate,'yyyy')) tt;

二、同义词的概念

1、建view_test3视图的同义词为dept

create synonym dept for view_test3;

2、通过同义词的方式查询出对应表当中的数据

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服