在现在的项目中会有很多接口,数据来源也可能是不同数据库或者是不同的用户下的表,给访问该表带来了一定的麻烦。这个时候就可以使用同义词来简化。
同义词的语法是:CREATE [OR REPLACE] [PUBLIC] SYNONYM [ schema.] 同义词名称 FOR [ schema.] object [ @dblink ];
创建同义词的时候还需要赋值相关的权限:
首先是:用sys账号给DM账号赋予CREATE SYNONYM的权限
GRANT CREATE SYNONYM TO user_temp;
user_temp是你要建同义词的用户。
这个时候你创建同义词的时候,如果找不到你要管理的user_res用户下的表tableA。(注:要在user_temp用户下创建user_res用户下tableA表的同义词)
这个时候还需要一个权限就是user_temp用户select tableA的权限,这个时候是在user_res用户下赋值的
grant select on tableA to user_temp;
这样就可以在user_temp用户下创建同义词了
-- Create the synonym
create or replace synonym tableA
for user_res.tableA