[置顶] Oracle数据库之同义词(SYNONYM)使用
来源:程序员人生 发布时间:2015-01-04 09:52:05 阅读次数:5089次
本教程用示例来讲明在Oracle数据中如何创建和删除同义词(SYNONYM)。
概念
同义词是指数据库对象(表、视图、序列、存储进程等数据库对象)用另外一个名字来援用。比如:
建立1个同义词可以排除1个对象名字的限制.
如果你的数据库有多个用户,USER_A要访问USER_B的TABLE1,只能使用USER_B.TABLE1
建1个同义词abc指向USER_B.TABLE1,那你就能够select * from abc了,而且public的同义词会直接出现在所有用户的眼前,开发不就方便多了
创建同义词
语法:
CREATE [OR REPLACE] [PUBLIC] SYNONYM [schema.] synonym_name FOR [schema.] object_name [@dblink];
语法说明:
OR REPLACE: 在不使用DROP的条件下容许你重新创建(如果同义词已存在)。
PUBLIC: 所创建的同义词是全局的同义词,所有数据库用户都可使用。
schema: 要创建同义词的对象所在的schema,如果省略,则默许的利用对象在当前schema下。
object_name: 要创建同义词的对象,它可以是以下几种类型:
- TABLE
- VIEW
- SEQUENCE
- STORED PROCEDURE
- FUNCTION
- PACKAGE
- MATERIALIZED VIEW
- JAVA CLASS SCHEMA OBJECT
- USER-DEFINED OBJECT
- SYNONYM
示例:
CREATE PUBLIC SYNONYM suppliers FOR app.suppliers;
示例中创建的同义词名为suppliers,这样,其他schema下的用户可使用该同义词来使用app下的suppliers表而没必要加上app。例如:
SELECT *
FROM suppliers;
删除同义词
语法
DROP [PUBLIC] SYNONYM [schema.] synonym_name [FORCE];
说明:
PUBLIC: 容许删除PUBLIC同义词, 如果使用了PUBLIC关键字,则可以省略schema。
FORCE:用来强迫删除同义词,即便它在数据库中有其它的依赖。
示例:
DROP PUBLIC SYNONYM suppliers;
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠