【oracle资料整理】--【10】视图 (view)

视图 (view)
   --建立视图(用查询语句 select empno,ename,sal from emp建立了一个emp_v1的视图 )
     create or replace view emp_v1 as --select语句
         select empno,ename,sal from emp;

   视图的作用:隐藏数据,增加系统的安全性
      视图中是否存放了数据???  不存放数据,只存放查询
                             保证了 查询到的数据是和表
                             中的数据是一致的
   select * from emp_v1;
     <1>emp_v1先看是否是表
     <2>不是表 是否是视图
     <3> select * from  (select empno,ename,sal from emp);
     <4>执行得到结果

   能否通过视图去改表中的数据呢???
         有条件的可以:
           <1>建立视图的select语句必须是简单的select语句
               简单:不能是多表的查询
                    不能有分组函数
           <2>建立视图的时候不能带with readonly关键字
     create or replace view emp_v2 as --select语句
         select empno,ename,sal from emp
         with read only;
                  
  可以改的情况:
     1)create or replace view emp_v1 as --select语句
         select empno,ename,sal,comm from emp;
        
     update emp_v1 set comm = 1000
         where empno=7934;
 
     select * from emp;   --发现数据修改了

     2)create or replace view emp_v3
        as
          select empno,ename,hiredate,sal,deptno
          from emp
          where deptno = 10;

       update emp_v3 set deptno=20 where empno=7782;
 
       select * from emp_V3; --7782的数据没有了
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值