어려운 상황에 처해 도움이 필요합니다.
계정A와 B가 있습니다. 두개의 계정이 가지고 있는 테이블 등은 구조가 동일합니다.
사용자는 계정C로 접속하여 grant된 계정A의 테이블을 사용합니다.
select * from A.table1;
이런 식으로 소스에서 스키마명을 포함하고 있습니다.
어떠한 이유 때문에 일시적으로 계정B의 테이블을 계정A 대신 사용하여야 합니다.
소스에는 A.table1 이렇게 코딩되어 있어 계정B를 A로 인식하게끔 해야하는데..
시노님으로 해결할 수 있을 것으로 생각했는데..
create synonym A.table1 for B.table1;
에러가 나네요. A.table1이 있으니 시노님이 먹지를 않는 듯 합니다.
혹시 같은 고민을 하신 적이 있으시면 도움 말씀 부탁드립니다.
로그인 트리거로 set current schema를 설정하시는 방법은 가능할지요?
테스트는 해보시고요..
https://www.nazmulhuda.info/set-default-schema-after-login
프로그램 소스 sql에 스키마가 적시되어 있어 default dchema를 설정해도 소용없을 것 같습니다만...
계정 A의 테이블을 임시로 rename 해놓고 시노님을 주면 가능하긴 하네요. 제가 처한 상황에서는 가능한 대안이긴 합니다.