SQL基础--同义词

同义词的概念:

   同义词是Oracle对象的别名,使用同义词访问相同的对象

    可以为表、视图、存储过程、函数或另一同义词等对象创建同义词

    方便访问其它用户的对象,隐藏了对象的身份

    缩短对象名字的长度

 

同义词创建语法:

  CREATE [PUBLIC] SYNONYM synonym_name  FOR  object;

 

创建和删除同义词的权限:

  •    CREATE ANY SYNONYM
  •        CREATE PUBLIC SYNONYM
  •    DROP PUBLIC SYNONYM
  •         DROP ANY SYNONYM

 

创建同义词举例:

SQL> conn / as sysdba
已连接。

SQL> grant create public synonym to scott;

授权成功。

SQL> grant create any synonym to scott;

授权成功。

SQL> conn scott/tiger
已连接。
  
SQL> create public synonym mydept for dept;    ##创建公有同义词,其它用户也可以访问

同义词已创建。

SQL> create  synonym mydept for dept;      ##创建私有同义词,只有Scott才可以访问,与公共同义词同名,并没有报错

同义词已创建。

 

 

删除同义词:

 

SQL> drop public synonym mydept;

同义词已删除。

SQL> select * from mydept;   ##删除共有同义词,私有的还在

    DEPTNO DNAME      LOC
---------- -------------- -------------
    10 ACCOUNTING      NEW YORK
    20 RESEARCH      DALLAS
    30 SALES      CHICAGO
    40 OPERATIONS      BOSTON

SQL> drop synonym mydept;
同义词已删除。
SQL
> select * from mydept; select * from mydept *1 行出现错误: ORA-00942: 表或视图不存在

 

 

 

 

查看同义词视图:

SQL> select * from user_synonyms;

SYNONYM_NAME               TABLE_OWNER              TABLE_NAME
------------------------------ ------------------------------ ------------------------------
DB_LINK
------------------------------------------------------------------------------------------------------------------------
MYDEPT                   SCOTT                  DEPT

SQL> conn / as sysdba
已连接。

SQL> SELECT synonym_name,table_owner,table_name FROM dba_synonyms  WHERE table_name = 'DEPT';

SYNONYM_NAME               TABLE_OWNER              TABLE_NAME
------------------------------ ------------------------------ ------------------------------
MYDEPT                   SCOTT                      DEPT
MYDEPT                   SCOTT                       DEPT

 注意:创建的公共同义词没有出现在user_synonyms视图中

 

 

转载于:https://www.cnblogs.com/zydev/p/6254446.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值