背景说明
- 当需要访问其它Schema的对象时,又不想通过指定schema.obj的格式访问时
- 在不知对应用户秘密的情况下,在SQL语句中不用加入对应用户去数据库中执行SQL命令
解决方案
切换用户会话的schema
alter session set current_schema=XX;
col sys_context(‘userenv‘,‘current_schema‘) for a20
select user, sys_context(‘userenv‘,‘current_schema‘) from dual;
使用触发器实现
B的用户模式切换到A
create or replace trigger set_default_schema
after logon on B.schema
begin
execute immediate ‘alter session set current_schema=A(schema)‘;
end;
/