当建立视图时使用的表中的数据发生了改变后,视图中的数据也会发生相应的改变,视图本身是不能执行添加,删除,修改的!
如果要插入新数据的话,建议使用触发器,在视图相对应的各表中插入数据。视图中自然更新。
oracle视图创建/oracle多表创建视图问题create or replace view emp_dept_ve
(empno,ename,job,hiredate,sal,dname,loc) AS
select e.empno,e.ename,e.job,e.hiredate,e.sal, d.dname,d.loc
from emp e
left join dept d on d.deptno = e.deptno
-- emp_dept_ve 是给视图取的视图名
第二种方法
create or replace view emp_dept_ve as
select e.empno,e.ename,e.job,e.hiredate,e.sal, d.dname,d.loc
from emp e
left join dept d on d.deptno = e.deptno
1、视图(View)创建使用,视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT?FROM即可。
2、OR REPLACE:如果视图已经存在,则替换旧视图。
3、FORCE:即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用。
4、NOFORCE:如果基表不存在,无法创建视图,该项是默认选项。
5、 WITH READ ONLY:默认可以通过视图对基表执行增删改 *** 作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert *** 作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改 *** 作。现实开发中,基本上不通过视图对表中的数据进行增删改 *** 作。
视图具有以下优点:可以限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽建表时底层的基表。可以将复杂的查询保存为视图。可以对最终用户屏蔽一定的复杂性。 限制某个视图只能访问基表中的部分列或者部分行的特定数据。这样可以实现一定的安全性。从多张基表中按一定的业务逻辑抽出用户关心的部分,形成一张虚拟表。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)