Oracle视图(和Mysq一样l)
? 删除视图,只是删除视图定义,并不会删除视图对应基表中的数据 Drop view empnew_view 基表中数据任存在 ? ? 3.Oracle的复杂视图 ??? (1)了解什么是复杂视图 ???? ???? ? ? (2)掌握创建复杂视图的操作,? //复杂查询,指定列的别名,为了防止在视图上执行DML操作,也可以在后面加上with read only ?????????? create view job_view2(job,avgsal,sumsal,manxsal,minsal) as select job,avg(sal),sum(sal),max(sal),min(sal) from emp group by job; select * from job_view2; ? ? ??? (3)了解复杂视图上执行DML操作的原则 ??????????? <1>视图中包含一下元素之一不能执行delete操作 ??????????? ??? Group by 子句 ??????????? ??? 分组函数??????????? //avg,sum,max,min ??????????? ??? distinct 关键字 ??????????? ??? Rownum伪劣 <2>视图中包含一下元素之一不能执行update操作 ??????????? ??? Group by 子句 ??????????? ??? 分组函数 ??????????? ??? distinct 关键字 ??????????? ??? Rownum伪劣 ??????????????? 使用表达式定义的列 <3>视图中包含一下元素之一不能执行insert操作 ??????????? ??? Group by 子句 ??????????? ??? 分组函数 ??????????? ??? distinct 关键字 ??????????? ??? Rownum伪劣 ??????????????? 使用表达式定义的列 ??????????????? 视图上没有包含基本表的not null列 ??????? 例如上面创建的复杂视图就不能执行delete,update,insert操作,因为有group by 和分组函数存在 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |