Synonyms 同义词
来源:互联网 发布:和平网络电视不能用 编辑:程序博客网 时间:2024/04/28 17:55
About Synonyms
A synonym is an alias for a schema object. Synonyms can provide a level of security by masking the name and owner of an object and by providing location transparency for remote objects of a distributed database. Also, they are convenient to use and reduce the complexity of SQL statements for database users.
Synonyms allow underlying objects to be renamed or moved, where only the synonym needs to be redefined and applications based on the synonym continue to function without modification.
You can create both public and private synonyms. A public synonym is owned by the special user group named PUBLIC
and is accessible to every user in a database. A private synonym is contained in the schema of a specific user and available only to the user and the user's grantees.
Creating Synonyms
To create a private synonym in your own schema, you must have the CREATE SYNONYM
privilege. To create a private synonym in another user's schema, you must have the CREATE ANY SYNONYM
privilege. To create a public synonym, you must have the CREATE PUBLIC SYNONYM
system privilege.
Create a synonym using the CREATE SYNONYM
statement. The underlying schema object need not exist, nor do you need privileges to access the object. The following statement creates a public synonym named public_emp
on the emp
table contained in the schema of jward
:
CREATE PUBLIC SYNONYM public_emp FOR jward.emp
When you create a synonym for a remote procedure or function, you must qualify the remote object with its schema name. Alternatively, you can create a local public synonym on the database where the remote object resides, in which case the database link must be included in all subsequent calls to the procedure or function.
Using Synonyms in DML Statements
You can successfully use any private synonym contained in your schema or any public synonym, assuming that you have the necessary privileges to access the underlying object, either explicitly, from an enabled role, or from PUBLIC
. You can also reference any private synonym contained in another schema if you have been granted the necessary object privileges for the private synonym.
You can only reference another user's synonym using the object privileges that you have been granted. For example, if you have the SELECT
privilege for thejward
.emp
synonym, then you can query the jward
.emp
synonym, but you cannot insert rows using the jward
.emp
synonym.
A synonym can be referenced in a DML statement the same way that the underlying object of the synonym can be referenced. For example, if a synonym named emp
refers to a table or view, then the following statement is valid:
INSERT INTO emp (empno, ename, job) VALUES (emp_sequence.NEXTVAL, 'SMITH', 'CLERK');
If the synonym named fire_emp
refers to a standalone procedure or package procedure, then you could execute it with the command
EXECUTE Fire_emp(7344);
Dropping Synonyms
You can drop any private synonym in your own schema. To drop a private synonym in another user's schema, you must have the DROP ANY SYNONYM
system privilege. To drop a public synonym, you must have the DROP PUBLIC SYNONYM
system privilege.
Drop a synonym that is no longer required using DROP SYNONYM
statement. To drop a private synonym, omit the PUBLIC
keyword. To drop a public synonym, include the PUBLIC
keyword.
For example, the following statement drops the private synonym named emp
:
DROP SYNONYM emp;
The following statement drops the public synonym named public_emp
:
DROP PUBLIC SYNONYM public_emp;
When you drop a synonym, its definition is removed from the data dictionary. All objects that reference a dropped synonym remain. However, they become invalid (not usable). For more information about how dropping synonyms can affect other schema objects, see "Managing Object Dependencies".
See Also:
Oracle Database SQL Reference for syntax and additional information about theDROP SYNONYM
statementViewing Information About Views, Synonyms, and Sequences
The following views display information about views, synonyms, and sequences:
DBA_VIEWS
ALL_VIEWS
USER_VIEWS
DBA
view describes all views in the database. ALL
view is restricted to views accessible to the current user. USER
view is restricted to views owned by the current user.DBA_SYNONYMS
ALL_SYNONYMS
USER_SYNONYMS
DBA_SEQUENCES
ALL_SEQUENCES
USER_SEQUENCES
DBA_UPDATABLE_COLUMNS
ALL_UPDATABLE_COLUMNS
USER_UPDATABLE_COLUMNS
- Synonyms 同义词
- Oracle synonyms(同义词)
- 如何创建synonyms同义词
- ORACLE同义词总结synonyms
- solr 分词之 同义词(synonyms)
- Oracle的同义词(synonyms)
- Oracle的同义词(synonyms)
- Oracle的同义词(synonyms)
- Oracle的同义词(synonyms)总结
- Oracle的同义词(synonyms)总结
- solr中同义词配置 (Synonyms)
- Dblink Oracle的同义词(synonyms)
- oracle中创建同义词(synonyms)表
- Oracle的同义词(synonyms)详解
- Oracle的同义词(synonyms)详解
- solr中同义词配置 (Synonyms)
- 认识Oracle同义词(synonyms)和链接(database links)
- 认识Oracle同义词(synonyms)和链接(database links)
- 汉诺塔(递归实现)
- try、catch、finally 执行顺序 及 return 关系浅谈一
- navicat连接linux虚拟机中mysql出现的错误
- 通用函数
- 钢玻璃杯的故事
- Synonyms 同义词
- 猛犸创始人季逸超:互联网新人类
- Linux中断(interrupt)子系统之一:中断系统基本原理
- 关于const_cast 和 修改const 的值
- 获取unity当前版本号
- 90后程序英雄季逸超
- 英文VS2010安装中文版MSDN文档方法
- buildroot建立交叉编译环境
- JS 文本框 maxlength(中文字符长度) 解决方案