一、同义词
同义词相当于为对象起的别名。如果对象名比较长,输入起来不方便,可以为对象起一个短一点的同义词。比如,EMPLOYEES表,我为它起个同义词T1:
gyj@OCM> create synonym t1 for hr.employees;
Synonym created.
对T1进行操作是,ORACLE为把T1转换为表名:hr.employees。
gyj@OCM> select count(*) from t1;
COUNT(*)
----------
107
虽然操作对象是T1,但实际是在对hr.employees进行操作。
有了同义词T1后,就不能再有表名是T1了:
gyj@OCM> create table t1 (id int,name varchar2(10));
create table t1 (id int,name varchar2(10))
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
同义词又分私有和公有两种。上面我们所说的同义词,是私有同义词。另外还有一种公有同义词,使用“CREATE PUBLIC SYNONYM 同义词 FOR 对象名”命令创建。
公有同义词是大家所公有的,每个有户都可以使用。而私有同义词在默认情况下,只能由创建用户使用。这是它们的不同之处,其他都一样。
二、删除同义词
同义词相当于为对象起的别名。如果对象名比较长,输入起来不方便,可以为对象起一个短一点的同义词。比如,EMPLOYEES表,我为它起个同义词T1:
gyj@OCM> create synonym t1 for hr.employees;
Synonym created.
对T1进行操作是,ORACLE为把T1转换为表名:hr.employees。
gyj@OCM> select count(*) from t1;
COUNT(*)
----------
107
虽然操作对象是T1,但实际是在对hr.employees进行操作。
有了同义词T1后,就不能再有表名是T1了:
gyj@OCM> create table t1 (id int,name varchar2(10));
create table t1 (id int,name varchar2(10))
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
同义词又分私有和公有两种。上面我们所说的同义词,是私有同义词。另外还有一种公有同义词,使用“CREATE PUBLIC SYNONYM 同义词 FOR 对象名”命令创建。
公有同义词是大家所公有的,每个有户都可以使用。而私有同义词在默认情况下,只能由创建用户使用。这是它们的不同之处,其他都一样。
二、删除同义词
语法:DROP SYNONYM 同义词名
**********本博客所有内容均为原创,如有转载请注明作者和出处!!!**********
Name: guoyJoe
QQ: 252803295
Email: oracledba_cn@hotmail.com
Blog: http://blog.youkuaiyun.com/guoyJoe
ITPUB: http://www.itpub.net/space-uid-28460966.html
OCM: http://education.oracle.com/education/otn/YGuo.HTM
_____________________________________________________________
加群验证问题:哪些SGA结构是必需的,哪些是可选的?否则拒绝申请!!!
答案在:http://blog.youkuaiyun.com/guoyjoe/article/details/8624392
Oracle@Paradise 总群:127149411
Oracle@Paradise No.1群:177089463(已满)
Oracle@Paradise No.2群:121341761
Oracle@Paradise No.3群:140856036