ORACLE学习第八篇(ORACLE视图)

一、概念

视图是虚表,没有具体物理数据,是通过实体表的一种计算映射逻辑。主要就是为了方便和数据安全;

二、创建视图

Create view 视图名称 as 查询语句
create view v_emp1 as select ename,job from emp;
出现问题:
如果在scott用户下创建视图的时候,可能会出现权限不足
可以查看一下scott下角色对应的权限:利用如下语句:
select * from user_role_privs;
查找后在granted_role列下应该有俩个权限:
connect、resource默认的权限,我们需要赋予DBA权限
可以通过sys DBA用户登录查看角色对应的权限(注:权限在后面学到的时候详细讲解)用SYSDBA权限重新登录数据库:通过下面的语句查看角色对应的权限:
select * from dba_sys_privs where grantee='DBA';

最后在这个权限下给scott用户授予dba权限:
grant dba to scott;
系统会提示授权成功的!

三、使用视图

查询:select * from v_emp1; select * from v_emp1 where ename like '%M%';
修改:update v_emp1 set job='销售' where ename='sb';
添加:insert into v_emp2 values('2222','sb2','技术');
删除:delete from v_emp2 where empno=2222

四、创建只读视图

Create view 视图名称 as 查询语句 with read only ;
//按字面意思理解就好了(注意:我们创建视图一般都是只读视图)

猜你喜欢

转载自blog.csdn.net/qq_31681017/article/details/75043648