码迷,mamicode.com
首页 > 数据库 > 详细

oracle 视图(view)的使用

时间:2019-01-28 17:37:26      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:使用   部分   虚拟   很多   存在   sele   ORC   col   说明   

转自https://blog.csdn.net/weixin_39415084/article/details/76147594

Oracle对象教程:视图(View)创建使用,视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT…FROM即可。

视图具有以下优点:

可以限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽建表时底层的基表。

可以将复杂的查询保存为视图。可以对最终用户屏蔽一定的复杂性。

限制某个视图只能访问基表中的部分列或者部分行的特定数据。这样可以实现一定的安全性。

从多张基表中按一定的业务逻辑抽出用户关心的部分,形成一张虚拟表。

CREATE [OR REPLACE] [{FORCE|NOFORCE}] VIEW view_name

AS

SELECT查询

[WITH READ ONLY CONSTRAINT]

语法解析:

OR REPLACE:如果视图已经存在,则替换旧视图。

FORCE:即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用。

NOFORCE:如果基表不存在,无法创建视图,该项是默认选项。

WITH READ ONLY:默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。
demo:

create or replace view hr_org_dept_tree_v as
select "ID","NAME","PARENT_ID","STATE","ORG_ID","VALID_FLAG" from (select t.id,t.org_name as name ,t.parent_org_id as parent_id,
‘org‘ as state,t.id as org_id,t.valid_flag from hr_org t union all select d.id,d.dept_name as name, case d.parent_dept_id when ‘-1‘ then d.org_id else d.parent_dept_id end as parent_id,‘dept‘ as state,d.org_id,d.valid_flag from hr_dept d ) s

 

oracle 视图(view)的使用

标签:使用   部分   虚拟   很多   存在   sele   ORC   col   说明   

原文地址:https://www.cnblogs.com/person008/p/10330762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!