Oracle 视图详解

来源:互联网 发布:linux文件迭代重命名 编辑:程序博客网 时间:2024/06/02 01:29

1. 什么是视图?

    视图是一种虚拟表,通常作为执行的查询的结果而创建的,用于显示一个或多个表或其他视图中的相关数据。视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表。

2.视图使用

 2.1 出于安全考虑,用户不必看到整个数据结构,而隐藏部分数据。

 2.2 符合用户日常业务逻辑,使他们对数据更容易理解。

 2.3通常进行的操作:

        筛选表中的行;防止未经允许的用户访问敏感数据;将许多个物理数据表抽象为一个逻辑数据表。

3. 创建视图
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name AS subquery

其中:
OR REPLACE:若所创建的试图已经存在,ORACLE自动重建该视图;
FORCE:不管基表是否存在ORACLE都会自动创建该视图;
NOFORCE:只有基表都存在ORACLE才会创建该视图: 
subquery:一条完整的SELECT语句,可以在该语句中定义别名;

例:


create or replace view  userinfo_vw asselect id,username,password,sex,insertdate,message,birthday from userinfo;

视图的定义中select语句不能包括下列内容:

    1. Order by子句,除非在select语句的选择列表中也有一个top子句

    2. Into关键字

  3.引用临时表或表变量

视图的查看用select * from userinfo ,就像我们平时查看表一样

4.删除视图

先查看视图是否存在,然后用drop删除:

if exists(select * from sysobjects where name='view_name')drop view view_name











0 0