Oracle Database :玩转Oracle学习笔记之(24):Oracle视图

Ⅰ、介绍:
视图是一个虚拟表,其内容有查询定义,同真实的表一样,视图包含一系列带有名称的行和列数据,但是视图并不再数据库中一存储的数据值集形式存在。行和列的数据来自由定义视图的查询所引用的表,并且咋引用视图时动态生成;


㈠、案例:
①、如果要显示各个雇员的名字和他所在部门的名称,必须用两张表;但是现在只想用一张表就能完成;
②、假设管理员创建了一个用户,小红,但是希望小红只能够查询sal小于1000的雇员信息;


㈡、视图与表的区别:

①、表需要占用磁盘空间,视图不需要;
②、视图不能添加索引;
③、使用视图可以简化复杂查询;
④、视图有利于提高安全性;


Ⅱ、创建视图:
create view viewName as select语句 【with read only】;

--用system给scott用户授权;
SQL> grant create view to scott;

Grant succeeded.


--创建视图:把emp表的sal<1000的雇员映射到一张视图中;
SQL> conn scott/Spongcer123
Connected.
SQL> create view myview as select * from emp where sal < 1000;

View created.


Ⅲ、创建或修改视图:
create or  replace view 视图名 as select语句 【with read only】;

【with read only】:表示视图只能读取而不能更改;

SQL> create or replace view myview as select empno , ename,dname from emp , dept where emp.deptno=dept.deptno;

View created.

SQL> select * from myview;

     EMPNO ENAME      DNAME
---------- ---------- --------------
      7782 CLARK      ACCOUNTING
      7839 KING       ACCOUNTING
      7934 MILLER     ACCOUNTING
      7566 JONES      RESEARCH
      7902 FORD       RESEARCH
      7876 ADAMS      RESEARCH
      7369 SMITH      RESEARCH
      7788 SCOTT      RESEARCH
      7521 WARD       SALES
      7844 TURNER     SALES
      7499 ALLEN      SALES

     EMPNO ENAME      DNAME
---------- ---------- --------------
      7900 JAMES      SALES
      7698 BLAKE      SALES
      7654 MARTIN     SALES

14 rows selected.


Ⅳ、删除视图;
drop view 视图名;
SQL> drop view myview;

View dropped.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值