陪你听风

Oracle 数据库的同义词+视图

电脑版发表于:2019/12/26 19:27


我希望有个如你一般的人

我希望有个如你一般的人,如山间清爽的风,如古城温暖的光,从清晨到夜晚,从山野到书房,只要最后是你,就好。I L???????


  今天讲解的内容是Oracle 数据库的同义词和视图命令操作

同义词:

相当于表的别名:

system创建同义词:

create synonym ep for scott.emp;


创建同义词表后,我们授予scott的查看权限

grant  select  on ep to scott;

连接scott查看

select * from system.ep;


视图:虚拟的表

代码重用

隐藏具体的表

不改变表结构的基础上进行数据重组

sql+window查看dba视图

select * from dba_synonyms;


system创建视图

create view view_emp

as

select * from scott.emp


修改ep表,一开始失败

update ep set ename='KING_boss' where empno=7839;

 

sys里授予system修改权限:

grant update on scott.emp to system;

现在system 就可以修改视图了:

update view_emp set ename='KING_boss' where empno=7839;




创建只读视图

create or replace view view_emp

as

select * from scott.emp

with read only


当我们对视图进行增删改时,会报错。

 我们可以链表查询:

select ename,job,dname from scott.emp e join scott.dept d on e.deptno=d.deptno;


创建视图view_emp_dept;

create view view_emp

as

select ename,job,dname from scott.emp e join scott.dept d on e.deptno=d.deptno


这里,假如我们system自身查看此视图到是可以,但是如果

system给scott查看视图的权限 会报一个没有权限的错

grant select on system.view_emp_dept to scott;

这里初步解决方案:登录sys 用户来授权,然后登录scott就可以查看该视图了,可能是system还差一个对于表dept的权限吧。

大家可以尝试用system用户授权一下哦。

关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢