Oracle修炼路程--视图

视图概念:
视图属于数据库对象(包括表、视图、序列、索引、同义词、触发器)之一,
视图是一个虚表,建立在表的基础之上,可以来自单个表或者多个表。

视图创建

创建视图的语法:
create view myview
as
select 。。。from。。。emp with check option;

--举例创建视图myview
SQL> create view myview as select e.empno 员工编号,e.ename 员工姓名,e.job 工作, e.sal*12+nvl(e.comm,0) 薪资,e.deptno 部门编号,d.dname 部门名称 from em
p e,dept d where e.deptno=d.deptno and e.deptno=30;
create view myview as select e.empno 员工编号,e.ename 员工姓名,e.job 工作, e.sal*12+nvl(e.comm,0) 薪资,e.deptno 部门编号,d.dname 部门名称 from emp e,d
ept d where e.deptno=d.deptno and e.deptno=30
            *1 行出现错误:
ORA-01031: 权限不足

--所以需要在sys下,给scott授予创建视图权限;
SQL> conn /as sysdba;
已连接。
SQL> grant create view to scott;

授权成功。
--登录scott,再次创建视图;
SQL> create view myview as select e.empno 员工编号,e.ename 员工姓名,e.job 工作, e.sal*12+nvl(e.comm,0) 薪资,e.deptno 部门编号,d.dname 部门名称 from em
p e,dept d where e.deptno=d.deptno and e.deptno=30;

视图已创建。
--查询myview视图
SQL> select *from myview;

  员工编号 员工姓名   工作            薪资   部门编号 部门名称
---------- ---------- --------- ---------- ---------- --------------
      7521 QINJIALI   SALESMAN       20300         30 SALES
      7698 BLAKE      MANAGER        53400         30 SALES
      7844 TURNER     SALESMAN       22800         30 SALES
      7900 JAMES      CLERK          16200         30 SALES

      

视图的优缺点:
优点:
1 简化查询;2 增加数据的安全性,可以将一些需要信息封装在视图中。
缺点:1 性能差 2 修改限制

操作视图:DML+Query(和表完全一致)

注意事项:某个用户在创建视图时,可能权限不足,所以需要授权;
通过sysdba授予scott创建视图的权限;
撤销:revoke create view from scott;
创建:grant create view to scott;
视图修改,会影响原表的数据!!!!!建议不做修改,只进行查询;

create view 视图名
as
select 语句 where…
with check option:限制对视图操作时,必须满足where子句条件;

b 强烈建议:
with ready only:视图只建议查看,不建议DML;因为对视图的操作会影响原表。
如果必须对视图进行DML,还需遵循一些严格的苛刻条件。
1 当视图中存在以下之一时,不能insert/update
出现group by\distinct\组函数\列的定义为表达式(sal+1000);
2 当视图中存在以下之一时,不能删除
group by\distinct\rownum伪列

–》强烈建议只查看,不要DML;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值