oracle视图

视图简析

一概念:
1.视图又称虚拟表,由一组查询语句组成,每次查询视图都是执行该查询语句。
2.可以在视图上生成新的视图,一般多表视图仅支持查询,单表视图支持dml操作,该操作实际上在基表上进行
特殊 :物化视图,物化视图占用内存地址,有独立的数据和表结构,和索引相似,不支持物化视图的数据库如mysql可以使用存储过程和触发器实现。
二作用:
1.视图可以简化查询代码。比如一个相对复杂的查询需要关联多张表,并且该查询在多个地方用到。可以创建一个视图,开发人员只需要查询该视图即可获取到数据。视图可以帮助实现更复杂的业务并简化业务代码,但同时也给数据库增加了负担(将业务添加到了数据库层,不利于数据库的迁移)
2.视图实质是还是转换为sql查询,对查询性能并无提升
三语法:
 create [ or replace ] --替换同名视图
[ force ] view [schema.]view_name --强制创建视图不考虑基表是否存在或是否有基表使用权限
[ (column1,column2,...) ] --指定列名,与下面查询的列一一对应,数目必须一样
     as 
   select ...
[ with check option ] --指定对视图dml操作必须是能查询到的数据(满足where条件),默认不检查
[ with read only ]; --限定视图只读,和with check option不能共存

示例1:create view vw as select a,b,c,d from tb;

示例2:create or replace force view
"数据库名"."视图名"(a,b,c,d)
as
select
(select w from tb2 where ...) as "a",
t.x as "b",
t.y as "c",
t.z as "d"
from tb1 t
where ...
with read only;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值