创建视图
例子:create view empvu10
as select empno ,ename,job
from emp where deptno=10;
视图是参照父表 ,父表增加随增加
练习1
create view SCOTT.gif as select ename, sal ,empno from SCOTT.emp
where sal between 2000 and 3000 and ename like '%A%' ;
2. select * from gif ;
练习2
第1题
SCOTT.dept d on e.deptno=d.deptno where d.loc in ('NEW YORK','CHICAGO');
第2题
create view SCOTT.gif4 as select
d.dname, min(e.sal) as 最小工资 from SCOTT.emp e join SCOTT.dept d
on e.deptno=d.deptno GROUP BY d.dname
第3题
select * from gif4;
注意 函数列加 as 别名
修改视图
create or replace view as select
- from emp where deptno =20
with check option constraint gif4_ck; 约束,表示这个表的部门编号不可以修改。
with read only :任何DML 操作都会导致一个错误。
删除视图 :drop view 视图名
课后作业:
1、create view v_emp_20 as select (comm+sal)*12 as 年薪, empno,ename
from emp where deptno=20;
2、select * from v_emp_20
where 年薪>10000;
3、create view sal as select d.dname, e.job ,d.loc from emp e join dept d on e.deptno=d.deptno
where e.sal>2000;
4 可以 因为没有函数 和约束
注意: grant create view to scott 赋予视图权限
以scott用户登录oracle
dml可以对视图进行使用
delete 和drop 区别前者删除表内容框架还在、 后者删除整个表
update
insert
网友评论