数据库对象-视图

视图是数据库中的虚拟表,基于表或视图的查询结果,不存储数据,只保存查询语句。当基表数据变化时,视图数据随之更新。视图用于简化复杂查询,提供权限控制,并节省存储空间。创建视图时,只存储查询定义,不实际存储数据。例如,可以创建一个包含多个表联合查询的视图,方便重复使用。视图的修改需要遵循其背后的基表规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库对象 - 视图

视图中的数据是何时更新的?

视图是一个虚拟表,是基于表或视图的逻辑表,它与真实的数据表一样具有行和列,但是它本身并不包含任何数据,它仅包含查询数据的脚本

比如用户有一个非常复杂的查询 SQL 语句,为了经常使用这个 SQL 语句返回的结果,可以将它存储为视图,而 SQL 语句所查询的表称为基表,视图从基表中获取数据。

基表的数据发生改变时,视图中的数据也会发生改变。

视图一个重要的作用就是限制用户对某些列的查询权限,提高了安全级别。

创建视图时,只是将视图的定义信息保存到数据字典中,并不将实际的数据复制到任何地方,不占用任何实际的存储空间。

视图创建语法
CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW view
[(alias[, alias])...]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY [CONSTRAINT constraint]];

例:
CREATE OR REPLACE FORCE EDITIONABLE VIEW "WHM"."V_ABC"
 ("cloumn", "cloumn", ...)
 AS select column, column, ...  FROM T_ABC
 UNION ALL
 select column, column, ...  FROM T_DEF;

由于视图就是一个存储的查询,因此创建的步骤是先测试 SELECT 语句的正确性,然后将 SELECT 语句作为视图的 subquery 来创建整个视图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值