Oracle中的视图

                Oracle中的视图

      视图(view)实际上是在一张或多张基表上建立的一个虚表,是预定义的查询。从视图中查询数据和从基本表中查询数据的方法是一样的。那么为什么出现视图又使用视图呢?原因有三:

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

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

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

创建视图的语法如下:

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

AS

SELECT查询

[WITH READ ONLY]

其中的or replace是如果有视图已经存在,则替换视图。

Forcenoforce是决定是否强制创建视图,force是在基表不存在时也可以创建视图的标志,noforce指如果基表不存在,则不能创建视图。Noforce是默认选项。

With read only是限制视图只能执行查询操作,不能进行增删改操作。可以理解为共享锁。

下面是一个小例子:

SQL> create or replace view teview

  2  as

  3  select * from testss;

View created

这是创建了一个名为teview的视图,功能是查询表名为testss的内容,需要注意的是创建视图前要给用户授权,即grant  create  view  to admin(用户名) ,只有这样,才有权创建视图。然后可以使用一般的查询语句查询视图。如select * from tvview,这样就可以使用视图了。个人觉得,视图的最大作用在于有一些复杂的多表联合查询就可以使用视图,查询出来一些混合的数据之后再根据条件找到满足要求的数据。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值