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 创建所有表的同义词的主要内容,如果未能解决你的问题,请参考以下文章