• 【Oracle11g】12_同义词


    概念:同义词是现有对象的一个别名。

    作用:

    • 简化SQL语句
    • 隐藏对象的名称和所有者
    • 提供对对象的公共访问

    公有同义词可被所有的数据库用户访问。
    私有同义词只能在其模式内访问,且不能与当前模式的对象同名。

    1.创建同义词

    -- 建立私有同义词
    create synonym syn_emp for scott.emp;
    
    -- 建立共有同义词
    create synonym pub_syn_emp for scott.emp;
    

    2.删除同义词

    -- 删除私有同义词
    drop synonym syn_emp;
    
    -- 删除公有同义词
    drop public synonym pub_syn_emp;
    
    

    3.授权用户scott创建同义词

    -- 授权创建私有同义词
    grant create synonym to scott;
    
    -- 授权创建公有同义词
    grant create public synonym to scott;
    
    

    新建用户是否能访问已经创建好的同义词呢?
    新创建的用户,如果没有访问基表的权限,则无法访问同义词。例如:新建用户test,刚创建好的用户是无法访问scott的dept表的,此时也无法访问dept表的同义词,如果需要访问同义词,则先为表dept授权即可访问。

    4.特殊的TAB表

    select owner,object_name.object_type from all_objects a where a.object_name='TAB';
    
    select * from all_synonyms u where u.synonym_name='TAB'
    
    

    任何一个用户都有tab这个表,任何用户都可以通过tab来访问到本用户下的所有表,该表是sys.tab的同义词

  • 相关阅读:
    RabbitMQ一:消息队列的认识
    RabbitMQ二:AMQP协议
    SVN中如何去除版本控制器
    Asp.net:MVC认识
    时间连接查询展示
    C#string类型总结
    JavaScript01天学习笔记分享
    UML中的类图及类图之间的关系
    23 种设计模式的分类和功能
    WCF入门
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12670571.html
Copyright © 2020-2023  润新知