zoukankan      html  css  js  c++  java
  • Synonyms In Oracle

    1. 什么是同义词

    A synonym is an alias for one of the following objects(实际上就是一种映射关系):

    • table
    • object table
    • view
    • object view
    • sequence
    • stored procedure
    • stored function
    • package
    • materialized view
    • java class
    • used defined object object type
    • another synonym 

    Synonyms 不能用在drop table、drop view、truncate table/cluster 语句中,否则,会出现0RA-00942:table or view does not exist错误。

    A public synonym is owned by public rather than the one who has created it. Therefore, a public synonym is valid for each schema.

    使用同义词有如下好处:

    (1)对于开发人员来讲,不必关心数据库的具体对象名称,同时,也简化了数据库对象的访问。

    (2)避免了应用程序直接访问数据库对象,提高了数据库的安全性。

    (3)扩大了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互。

    (4)同义词可以创建在不同一个数据库服务器上,通过网络实现连接。

    2. 创建同义词

    授权:

    grant create any synonym to Sharon;

    grant create public synonym to Leo;

    取消授权:

    revoke create any synonym from Sharon;

    revoke create public synonym from Leo;

    创建同义词:

    create synonym s_emp for emp;

    create public synonym p_emp for emp;

    若要创建一个远程数据库上某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后使用如下语句创建:

    create public synonym p_emp for emp@DB_Link;

    3. 删除同义词

    drop public synonym world;

    4. 查看所有同义词

    select * from dab_synonyms;

    5. 参考资料

    http://database.ctocio.com.cn/tips/457/8286457.shtml

    http://www.adp-gmbh.ch/ora/concepts/synonyms.html

    http://www.qqread.com/oracle/2010/04/b493100.html

  • 相关阅读:
    Apache ActiveMQ消息中间件的基本使用
    struts2结合生成验证码
    Python中docstring文档的写法
    Nginx+uWSGI+Django原理
    Python垃圾回收机制详解
    Python数据库连接池实例——PooledDB
    构建高可用服务端
    Python使用multiprocessing实现一个最简单的分布式作业调度系统
    python3 分布式进程(跨机器)BaseManager(multiprocessing.managers)
    python BaseManager分布式学习
  • 原文地址:https://www.cnblogs.com/prettymdx/p/2068717.html
Copyright © 2011-2022 走看看