我们要访问另外一个用户的表时,一般是 select * from schema.table_name 方式,
有时,觉得要在表名前加一个SCHEMA,比较繁琐,我们就会使用同义词的方式来处理 ,比如 create synonym xxx for schma.xxx;那能否有另外一种方式呢,答案是肯定的
我们可以使用 alter session set current_schema=new_schema;
select * from xxx;
下面具体举例:
SQL> conn / as sysdba
已连接。
SQL> select count(*) from hr.employees; --需要使用HR作为前缀。
COUNT(*)
----------
107
SQL> select count(*) from employees; --不用,就报错
select count(*) from employees
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> alter session set current_schema=hr; --直接切换到 新的schema
会话已更改。
SQL> select count(*) from employees; --不再需要SCHEMA
COUNT(*)
----------
107
SQL>
特快、特效、特惠OCP疫情在线突击营,疫间特备,全程由长期在一线的OCM实战工程师亲授!他们拥有丰富工作经验和项目经验,能让学员们获得更多实实在在的项目经验,保证了学员除了考证更能学到应用到实际项目中的实实在在的技术,疫情期间思庄学习中心继续在线上课模式,从此开启思庄Linux、Oracle等专业技术人才“高特在线营”!
4-8人VIP小班教学,每天2-4小时,灵活安排,可回放重听,随时在线答疑!疫情过后可再继续或重复参加面授学习!
更多详情请访问思庄网站咨询在线客服,谢谢!
来源:oschina
链接:https://my.oschina.net/u/3635497/blog/3167425