视图
其是一个定义
存在于system表空间
不占用实际空间存储
使用视图的作用:方便管理员,下降数据库性能;使数据有多样性、提升数据的安全性(只能查看部分数据);使sql语句更加通用;
conn / as sysdba
select count(*) from tabs;
conn lark/a;
select count(*) from tabs;
conn scott/tiger;
select count(*) from tabs;
创建视图
conn scott/tiger
select * from session_privs;//查询用户权限
conn / as sysdba
grant create view to scott;//赋予创建视图的权限给scott用户
select * from session_privs;
create view v2 as select ename,sal from emp;//创建视图
desc v2
select * from v2;
select * from user_views;//查询用户的视图
select * from dba_views;//查询dba的视图
desc user_views
select text from user_views where VIEW_NAME='USER_TABLES';//引号内区分大小写
select * from user_views where VIEW_NAME='USER_TABLES';//查询user_tables这个视图的内容结构
e.g创建视图,查看每个部门的工资总和
create view v_sal(deptno,salary) as select deptno,sum(sal) from emp group by deptno;//
注:
一般不通过视图修改基表,直接修改基表
简单的视图可以dml视图
复杂的视图,不能通过视图修改基表
转载于:https://blog.51cto.com/ilark/1207975