当前位置:Gxlcms > 数据库问题 > 【Oracle11g】12_同义词

【Oracle11g】12_同义词

时间:2021-07-01 10:21:17 帮助过:30人阅读

目录

  • 1.创建同义词
  • 2.删除同义词
  • 3.授权用户scott创建同义词
  • 4.特殊的TAB表

1.创建同义词

  1. <code class="language-sql">-- 建立私有同义词
  2. create synonym syn_emp for scott.emp;
  3. -- 建立共有同义词
  4. create synonym pub_syn_emp for scott.emp;
  5. </code>

2.删除同义词

  1. <code class="language-sql">-- 删除私有同义词
  2. drop synonym syn_emp;
  3. -- 删除公有同义词
  4. drop public synonym pub_syn_emp;
  5. </code>

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

  1. <code class="language-sql">-- 授权创建私有同义词
  2. grant create synonym to scott;
  3. -- 授权创建公有同义词
  4. grant create public synonym to scott;
  5. </code>

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

4.特殊的TAB表

  1. <code class="language-sql">select owner,object_name.object_type from all_objects a where a.object_name=‘TAB‘;
  2. select * from all_synonyms u where u.synonym_name=‘TAB‘
  3. </code>

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

【Oracle11g】12_同义词

标签:create   ott   通过   syn   新建用户   私有   toc   sys   新建   

人气教程排行