oracle中的视图VIEW

oracle中的视图VIEW

一、VIEW?

view=table+部分table+view(部分),只是一个sql语句而已,不像表格有对应的结构存储在数据库中。

使用视图可以1)可以封装sql语句,简化sql

                  2)可以区分权限

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

      create view v_20 as select * from emp where deptno=20;

      create view v_30 as select * from emp where deptno=30;

这样每个部门操作属于自己的view

二、创建view

 在使用创建语句前,必须要有创建的权限

conn / as sysdba;

grant create view to scott(用户名);


1.简单view

create or replace view  v_10 as  select  * from emp where deptno=10;

2.复杂view


create or replace view v_min as select min(sal)   amin from emp;  //amin:必须取别名


create or replace view v_50 as select ename,sal from emp where deptno=(select deptno from dept where dname='SALES');


create view v_11 as select a.empno,b.dname from v_10 a,dept b where a.deptn
o=b.deptno;//视图和基本表组成


复杂view不可以进行insert等ddl操作 ,原因:对view进行ddl操作时,会将ddl语句转化到原来对应的table进行操作,由于定义view时,是有一些自定义字段,而在对应的table不存在所以会出错


特殊: 简单view中加入了read only属性,则也不能进行ddl操作

create view v10 as select * from emp where deptno=10 with read only;




存在伪列 rownum,rowid

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值