oracle视图view

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;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值