• 【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的同义词

  • 相关阅读:
    javascript学习一
    对软件工程课程的认识
    人月神话读后感
    项目开发总结报告(GB8567——88)
    MFC双缓冲绘图
    QT连接MySQL
    [QT学习]拷贝文件
    Arduino入门笔记【1】
    《人月神话》读后感以及软件工程总结
    十天冲刺任务(第二次冲刺)
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12670571.html
Copyright © 2020-2023  润新知