oracle的同义词详解,oracle同义词说明

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

你可能感兴趣的:(oracle的同义词详解)