[PL/SQL] CURRENT_SCHEMA 的另一种使用

浪尽此生 提交于 2020-02-26 21:59:28

我们要访问另外一个用户的表时,一般是  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小时,灵活安排,可回放重听,随时在线答疑!疫情过后可再继续或重复参加面授学习!

         更多详情请访问思庄网站咨询在线客服,谢谢!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!