oracle 创建所有表的同义词

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 创建所有表的同义词相关的知识,希望对你有一定的参考价值。

一个数据库中存在多个用户对其操作,zhang,wang,li等,他们建立的表,存储等,前面都有用户名,zhang.emp等字样,如何通过建立同义词使用户名不显示。方便查看。如果用create public synonym p for zhang.emp只能操作一张表,想同时搞定所有的表及存储等对象。有没有其方法呢。

dba_objects 表 自己拼脚本运行就行
比如:
select 'create public synonym '|| SYNONYM_NAME || for '||owner||'.'||object_name from dba_objects
where object_type='TABLE' 追问select ' create public synonym ' || OBJECT_NAME ||' for xxxx||OBJECT_NAME||';' from user_objects where object_type in('TABLE','VIEW','PROCEDURE','TRIGGER','FUNCTION','PACKAGE');
参考技术A dba_objects 表 自己拼脚本运行就行
比如:
select 'create public synonym '|| SYNONYM_NAME || for '||owner||'.'||object_name from dba_objects
where object_type='TABLE'追问

select ' create public synonym ' || OBJECT_NAME ||' for xxxx||OBJECT_NAME||';' from user_objects where object_type in('TABLE','VIEW','PROCEDURE','TRIGGER','FUNCTION','PACKAGE');

给所有的用户,可以for public吗?? xxx=public;
我也试过xxx=zhang 用户名,但没有效果呢

追答

create public synonym 就已经是所有用户了

参考技术B 同义词

以上是关于oracle 创建所有表的同义词的主要内容,如果未能解决你的问题,请参考以下文章

Oracle怎样创建同义词

Oracle:是不是可以为模式创建同义词?

Oracle基础 12 对象 objects 同义词/序列/试图/索引

oracle 查看同义词

[Oracle]同义词(synonym)

Oracle 基础——同义词