oracle同义词说明:
1.用户可以在自己的模式中创建同义词,这需要具有CREATE SYNONYM这个系统权限。如果希望在其他用户的模式中创建同义词,
则需要具有CREATE ANY SYNONYM这个系统权限。普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通
用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。
创建私有同义词的命令是CREATE SYNONYM,它的语法规则为:
CREATE SYNONYM 同义词 FOR 用户名.对象名;
例如:普通用户创建同义词:
赋予权限:
grant create synonym to mb_lm_user;
连接用户:
conn mb_lm_user
创建同义词:
create synonym TEST_MB_ACCOUNT_FLOWINOUT for MB_ACCOUNT_FLOWINOUT@link_to_shchdb;
用户如果不使用同义词时,可以将其删除。删除同义词的命令是DROP SYNONYM。这条命令的语法格式为:
DROP SYNONYM 同义词;
删除同义词:
drop synonym TEST_MB_ACCOUNT_FLOWINOUT;
创建公有同义词的命令也是CREATE SYNONYM,只是要使用PUBLIC关键字进行限定。创建公有同义词的命令格式为:
CREATE PUBLIC SYNONYM 同义词 FOR 用户名.对象名;
grant public create synonym to mb_lm_user;
连接用户:
conn mb_lm_user
create public synonym TEST_MB_ACCOUNT_FLOWINOUT for MB_ACCOUNT_FLOWINOUT@link_to_shchdb;
注意:删除public同义词需要具有DROP PUBLIC SYNONYM权限:
grant DROP PUBLIC SYNONYM to mb_lm_user;
用户如果不使用同义词时,可以将其删除。删除同义词的命令是DROP SYNONYM。这条命令的语法格式为:
DROP PUBLIC SYNONYM 同义词;
删除同义词:
drop public synonym mb_lm_user;
一个用户可以删除自己创建的同义词,如果要删除其他用户创建的同义词,则要具有DROP ANY SYNONYM系统权限。
DBA可以删除所有的公共同义词,普通用户需要具有DROP PUBLIC SYNONYM系统权限,才能删除公共同义词。同义
词被删除以后,它的相关信息也将从数据字典中删除。
查看所有同义词:
2.同义词管理:
sys同义词查看管理:
select * from dba_synonyms;
select * from user_synonyms;
用户查询自己建立的同义词:
select * from user_synonyms;
注意:用户只能查询自己的私有同义词,如果想查询public同义词,需要使用dba_synonyms表:
SQL> SELECT synonym_name FROM dba_synonyms WHERE owner=‘PUBLIC‘ and synonym_name like ‘TEST%‘;
SYNONYM_NAME
------------------------------
TEST_MB_ACCOUNT_FLOWINOUT
TEST_PUBLIC_MB
本文出自 “数据库” 博客,请务必保留此出处http://zhaozhou.blog.51cto.com/3715141/1363894