oracle视图view

来源:互联网 发布:李杰灵的淘宝店 编辑:程序博客网 时间:2024/06/06 01:01
1.定义:

视图是从若干基本表和(或)其他视图构造出来的表。

在创建一个视图时,只是存放的视图的定义,也即是动态检索数据的查询语句,而并不存放视图对应的数据

在用户使用视图时才去求相对应的数据。所以视图被称作“虚表”

2.作用:

可以限制对数据的访问,可以给用户授予表的特定部分的访问权限而不是整个表的访问权限。

可以使复杂的查询变的简单。在编写查询后,可以方便地重用它而不必知道他的基本查询细节。

提供了对相同数据的不同显示

创建视图

CREATE [OR REPLACE] VIEW view

[(alias[, alias]...)]

AS subquery

[WITH READ ONLY];

3.查询视图

select * from viewname

不需要再写完全的Select查询语句,

4.删除视图

Drop view viewname;

删掉视图不会导致数据丢失,因为视图是基于数据库表的一个查询

5.总结

视图是一个虚拟表,对应一条SELECT语句,可将它的输出看作一个表

视图不存储数据

改变基本表的数据,也会反应到基于该表的视图上

视图可以基于基本表的若干行,若干列

视图可以基于一个表、多个表,甚至是基于其他的视图


使用视图可以提高数据访问的安全性,只显示指定的行列数据

使用视图可以降低查询的难度,定制数据显示

可以对视图进行CRUD操作,实际上是对基本表的CRUD操作

如果视图对应多个表,一般不允许添加操作,可以通过触发器解决

使用with read only定义只读视图

小例子:

--视图的作用1.可以隐藏某些字段 2.简化复杂SQL查询操作--【创建视图】CREATE OR REPLACE VIEW VIEW_STUDENT AS (SELECT * FROM STUDENT);CREATE OR REPLACE VIEW VIEW_STUDENT AS (SELECT SNO,SNAME,SEX FROM STUDENT);--查询视图SELECT * FROM VIEW_STUDENT;--删除视图DROP VIEW VIEW_STUDENT;--添加操作INSERT INTO VIEW_STUDENT VALUES(1011,'ZHAOLIU','女');--修改操作UPDATE VIEW_STUDENT SET SNAME='HELLO' WHERE SNO = 1011;--删除操作DELETE FROM VIEW_STUDENT WHERE SNO = 1011;--设置成只读视图CREATE OR REPLACE VIEW VIEW_STUDENT AS (SELECT SNO,SNAME,SEX FROM STUDENT) WITH READ ONLY;--授予创建视图权限GRANT CREATE VIEW TO scott;


原创粉丝点击