Oracle数据库视图
影响基表
一:是一张虚表,对应一个select语句,视图其实是一张表中的部分数据的映射(投影)。
关键字:view,对应的select语句中的表叫基表。
二:作用:
-->可以保护表中的其他数据
-->视图能够简化用户的操作
-->当频繁的操作一个查询语句时,将这个查询语句创建成视图,便于操作
三:分类:
-->简单视图----对应的select语句是普通的查询语句,没有聚合函数,其他函数,子查询等。
-->复杂视图----select子句中含有函数,排序,子查询等。
-->连接视图----select语句中涉及到多张表。
四:视图的创建:有些用户没有创建视图的权限,必须授权,需要使用DBA进行授权,授权语句:grant create view to 用户名
格式语句:create [or replace] view view_name as subQuery(select 语句);
五:可进行增删改查操作(DML)对视图进行DML其实就是对基表进行DML
原则1-->视图中没有的字段,基表中的字段有非空约束,此时不能进行insert操作
原则2-->复杂视图不能进行DML操作
原则3-->连接视图不能进行DML操作
六:总结
可以DML视图中的任何数据,视图中没有的数据,可能insert,不能delete,update。
七:视图与with check option(只能操作视图里的)
当视图对应的select语句中使用了with,check,option时,此时,就对视图做了限制,只能DML视图中的数据。
八:表的复制与删除
create table tname as select * from emp;-->复制
drop table tname;-->删除