转载请出自出处:http://eksliang.iteye.com/blog/2098861
1.什么是同义词
同义词是现有模式对象的一个别名。
概念性的东西,什么是模式呢?创建一个用户,就相应的创建了 一个模式。模式是指数据库对象,是对用户所创建的数据对象的总称。模式对象包括表、视图、索引、同义词、序列、过程和程序包等 。
什么是模式对象呢?我的理解就是拥有数据库对象的用户。
2.同义词的作用
- 简化SQL语句
- 隐藏对象的名称和所有者
- 提供对对象的公共访问
3.同义词的类型
公有同义词和私有同义词
- 公有同义词可被所有的数据库用户访问
- 私有同义词只能在其模式内访问,且不能与当前模式的对象同名。
4.语法如下:
私有同义词语法如下:OR REPLACE
CREATE SYNONYM syn_emp FOR SCOTT.emp;
这个时候用select * from syn_emp 就相当于访问 select * from emp;
公有同义词语法如下:OR REPLACE
CREATE PUBLIC SYNONYM public_syn_emp FOR SCOTT.emp;
5.删除同义词
DROP SYNONYM emp; --删除私有同义词
DROP PUBLIC SYNONYM emp_syn; --删除公有同义词