oracle------视图

创建语句:

create view v_myemp as select * from emp e where e.sal > 2000;


查询语句:

select * from user_views;


修改,同时将列名称列出来:

create or replace view v_myemp (部门编号,部门名称,位置,部门人数,平均工资,总工资,最高工资,最低工资)
as
select d.deptno,d.dname,d.loc,count(e.empno) count,
nvl(round(avg(e.sal),2),0) avg,nvl(sum(e.sal),0) sum,nvl(max(e.sal),0) max,
nvl(min(e.sal),0) min
from emp e
right join dept d on e.deptno = d.deptno
group by d.deptno,d.dname,d.loc;


视图DML操作:

1,更新简单视图(单表映射数据)

在进行视图增加数据的时候,如果视图只包含了表中的部分数据,那么增加时也只会增加部分数据,没有映射到视图中的列,那么都会使用null填充。

简单视图数据更新的时候,会直接影响到实体表数据。


2,更新复杂视图(多表映射数据)

不适合更新,会存在很多问题。

你可能感兴趣的:(oracle------视图)