千家信息网

【学习】SQL基础-015-视图

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,1、本质:逻辑数据集,没有真正数据2、类型简单视图:不使用函数,不使用聚合;一般可以接受DML复杂视图:使用函数和聚合;不能接受DML3、原理oracle 访问 user_views 数据字典,找到视
千家信息网最后更新 2025年11月08日【学习】SQL基础-015-视图1、本质:逻辑数据集,没有真正数据

2、类型
简单视图:不使用函数,不使用聚合;一般可以接受DML
复杂视图:使用函数和聚合;不能接受DML

3、原理
oracle 访问 user_views 数据字典,找到视图的子查询并执行,返回数据;
访问视图,实际是访问基表;
视图是存放在数据字典中的一条子查询。

4、创建
前提:create view 权限
语法:

参数:
force: 即使子查询中明细表不存在,也创建视图。
noforce: 默认值,如果明细表不存在,则引发错误。

with check option 加约束进行检查,对视图进行 dml 操作时,检查创建时的 where 条件。 确保DML在特定范围内操作
with read only 只能进行查询,不能通过视图修改基表。 禁止DML操作

5、应用例
查询表空间的使用情况
create view tablesp_usage as
select a.tablespace_name as tablespace_name,
to_char(a.total/1024/1024,99999999) as total_mb,
to_char((a.total-b.free)/1024/1024,99999999) use_mb,
to_char(b.free/1024/1024,99999999) as free_mb,
to_char(((total-free)/total)*100,999.99) as "Used %"
from
(select tablespace_name,sum(bytes) as total from dba_data_files
group by tablespace_name) a,
(select tablespace_name,sum(bytes) as free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name order by 5 desc;

6、删除
drop view 不会删除基表数据
视图 数据 查询 明细 函数 字典 明细表 检查 复杂 前提 原理 参数 实际 情况 本质 权限 条件 条子 查询表 空间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 毛晶玥网络安全教学视频 中少年网络安全黑板报 梅州市互联网科技学校 bi工程师和软件开发工程 ps42k22服务器国行 女孩子学习软件开发 好玩的服务器 分子网络技术分离策略 网络安全进基层系列 石河子网络安全管理局 数据库怎么看包体明细 声音文字图形这些都是数据库吗 数据库考试简述题 信锐网络技术有限公司 数据库怎么存存有序 开票系统数据库更改 数据库教师管理系统 河南服务器钣金机箱生产 网络安全主题班会活动方案博客 附加数据库进度一直显示正在执行 安徽数字多媒体软件开发 对未来网络安全的期待和看法 天下互联网科技发展有限公司 软件开发行业的即征即退是 怎么把数据库字段导出csv 北京专业服务器哪个厂家质量好 收看网络安全教育视频情况 深圳恒合互联网络科技有限公司 ios用什么软件管理服务器 中兴软件开发春招面试
0