123sw 发表于 2018-9-12 13:01:05

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_nameFROM dba_synonyms WHERE owner='PUBLIC' and synonym_name like 'TEST%';
  SYNONYM_NAME
  ------------------------------
  TEST_MB_ACCOUNT_FLOWINOUT
  TEST_PUBLIC_MB

页: [1]
查看完整版本: oracle同义词说明