oracle视图
要建立bai视图首先你要有权限,登录dusys把视zhi图权限给你操作的dao数据库
grantcreateviewto你使用的数zhuan据库名
然后在创建视图
比如shu
createorreplaceviewv_menu_pop(视图名)as
(selectt.menuid,t.mname,wm_concat(t.typename)typename,wm_concat(t.typevalue)typevalue
from(selectm.menuid,m.mname,p.typename,p.typevalue
fromsys_menum,sys_publictypeinfop
whereinstr(‘,’||m.menupop||’,’,’,’||p.typevalue||’,’)>0
andp.sign=2)t
groupbyt.menuid,t.mname);
然后查看视图就和查看表一样
比如
select*fromv_menu_pop;
oracle创建视图的sql语句
视图:是根据一个表或多个表或视图的逻辑表,自身不包括数据,经过它能够对表里面的数据进行查询和修改。视图根据的表称为基表,Oracle的数据库对象分为五种:表,视图,序列,索引和近义词。
视图是存储在数据字典里的一条select语句。经过创立视图能够提取数据的逻辑上的调集或组合。
视图的优点:
1.对数据库的访问,由于视图能够有选择性的选取数据库里的一部分。
2.用户经过简略的查询能够从杂乱查询中得到结果。
3.保护数据的独立性,试图可从多个表检索数据。
4.关于相同的数据可产生不同的视图。
视图分为简略视图和杂乱视图:
1、简略视图只从单表里获取数据,杂乱视图从多表;
2、简略视图不包括函数和数据组,杂乱视图包括;
3、简略视图能够实现DML操作,杂乱视图不能够。
语法结构:创立视图
CREATE[ORREPLACE][FORCE|NOFORCE]VIEWview_name
[(alias[,alias]…)]
ASsubquery
[WITHCHECKOPTION[CONSTRAINTconstraint]]
[WITHREADONLY]
语法解析:
ORREPLACE:若所创立的试图已经存在,则替换旧视图;
FORCE:不论基表是否存在ORACLE都会主动创立该视图(即使基表不存在,也能够创立该视图,可是该视图不能正常使用,当基表创立成功后,视图才干正常使用);
NOFORCE:假如基表不存在,无法创立视图,该项是默认选项(只有基表都存在ORACLE才会创立该视图)。
alias:为视图产生的列界说的别号;
subquery:一条完整的SELECT语句,能够在该语句中界说别号;
WITHCHECKOPTION:刺进或修改的数据行有必要满足视图界说的束缚;
WITHREADONLY:默认能够经过视图对基表履行增删改操作,可是有很多在基表上的约束(比方:基表中某列不能为空,可是该列没有出现在视图中,则不能经过视图履行insert操作),WITHREADONLY阐明视图是只读视图,不能经过该视图进行增删改操作。现实开发中,基本上不经过视图对表中的数据进行增删改操作。