全球旧事资料 分类
的一些查询语句它象显示数据的视窗它本身是不存储数据的视图可以限制数据库的访问更好的控制权限使用户使用简单的查询语句数据的非依赖性同一数据的不同表现形式2创建视图的语法SQLCREATEORREPLACEFORCENOFORCEVIEWviewaliasaliasASsubqueryWITHCHECKOPTIONCONSTRAINTco
strai
tWITHREADONLY参数解释FORCE表不存在时视图仍然可以创建成功WITHCHECKOPTION只有符合视图定义的记录才能被插入或修改WITHREADONLY不允许DML操作Oracle8i以后创建视图可以用orderby21J2EEzxw3创建修改视图的例子SQLCREATEORREPLACEVIEWsalvu41ASSELECTidfirst_
ameFIRSTlast_
ameLASTsalaryMONTHLY_SALARYFROMs_empWHEREdept_id41SQLCREATEVIEWdept_sum_vu
amemi
salmaxsalavgsalASSELECTd
ameMINesalaryMAXesalaryAVGesalaryFROMs_empes_deptdWHEREedept_iddidGROUPBYd
ame注意如果用selectfromtable_
ame创建的视图table_
ame的结构改变后view要重建或compile后才能显示新的字段内容4查询视图的数据字典SQLsetlo
g1600SQLselectview_
ametextfromuser_views说明可以根据视图text_le
gth来设置setlo
g数字
fUser_updatable_colum
s视图能查询视图里能被修改的字段5简单和复杂的视图对比特性简单视图复杂视图表的数量一个多个有函数吗没有有有分组操作吗没有有有基于视图的DML操作吗有没有6在视图上可以用DML命令吗可以但有一定的限制条件没有下面的情况可以删除view里的记录groupfu
ctio
groupbydisti
ct没有上面和下面的情况可以修改view里的记录字段表达式例如salary12含row
um的view没有上面两种情况且view里含基表里所有非空字段的情况可以往view里插入记录7在视图里使用WITHCHECKOPTION约束条件SQLcreateorreplaceviewempvu41asselectfroms_empwheredept_id41withcheckoptio
co
strai
tempvu41_ck如果运行下面命令会出错ora01402SQLupdateempvu41setdept_id42whereid16原因视图empvu41里规定只能看部门号为41的记录修改后会把记录排除在视图empvu41以外与它的约束条件冲突8删除视图SQLDROPVIEWview_
ame十五、创建索引1索引的概念索引是数据库里的一种数据对象它利用B树hashbitmap结构直接快速地访问数据它和表是分开存放的两个实体索引创建好了后由系统自动调用和管理2什么时候创建索引22J2EEzxw自动创建的索引唯一关键字唯一的约束条件手工需要创建的索引大表查询时sql语句where后经常用到的字段或字段组合字段内容差别很大有大量NULL值表很大返回记录数较少3B树索引的结构每个索引由字段值和r
好听全球资料 返回顶部