同义词的概念:

同义词是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视图中

SQL基础--同义词的更多相关文章

  1. 信安周报-第02周:SQL基础

    信安之路 第02周 Code:https://github.com/lotapp/BaseCode/tree/master/safe 前言 本周需要自行研究学习的任务贴一下: 1.概念(推荐) 数据库 ...

  2. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  3. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  4. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  5. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  6. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  7. 黑马程序员+SQL基础(上)

    黑马程序员+SQL基础 ---------------<a href="http://edu.csdn.net"target="blank">ASP ...

  8. Oracle SQL 基础学习

    oracel sql 基础学习 CREATE TABLE USERINFO ( ID ,) PRIMARY KEY, USERNAME ), USERPWD ), EMAIL ), REDATE DA ...

  9. 第一章 SQL基础

    第一部分:SQL基础1. 为什么学习SQL自人类社会形成之日起,社会的运转就在不断地产生和使用各种信息(文献.档案.资料.数据等):在如今所谓的信息时代,由于计算机和互联网的作用,信息的产生和使用达到 ...

随机推荐

  1. hadoop2.6.4 搭建伪分布式

    安装jdk1.7 http://www.cnblogs.com/zhangXingSheng/p/6228432.html  ------------------------------------- ...

  2. python之线程进程协成

    线程与进程 什么是线程 线程是进程一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源,但是它可与同属一个线程的 ...

  3. python之模块

    模块即一推代码的集合来实现某个功能,使用时直接调用,甚是方便. 模块又分为三种 自定义模块 内置模块 第三方模块 下面就来介绍介绍什么是内置模块及如何去使用它和内置模块的好处. 使用模块模块前首先导入 ...

  4. java中Inetaddress类

    InetAddress类 InetAddress类用来封装我们前面讨论的数字式的IP地址和该地址的域名. 你通过一个IP主机名与这个类发生作用,IP主机名比它的IP地址用起来更简便更容易理解. Ine ...

  5. 纯css实现二级导航菜单效果,通过简单的鼠标事件操作页面元素样式变换实现二级导航菜单的功能,非常简单实用,

    HTML代码如下 <!-- 头部导航栏开始--><div id="nav"><dl class="sy"><dt> ...

  6. ****LINUX命令(含GIT命令)个人总结

    参考文章: 每日一个linux命令 http://www.cnblogs.com/peida/tag/%E6%AF%8F%E6%97%A5%E4%B8%80linux%E5%91%BD%E4%BB%A ...

  7. Flashback Data Archive ( Oracle Total Recall ) introduced in 11g

    Flashback Data Archive feature is part of Oracle Total Recall technology. Flashback Data Archive fea ...

  8. 关于Knockout的开始

    最近看了汤姆大叔的Knockout,感到MVVM的神奇,也许这就是以后编程的方式,最直观的感觉就是层次更分明了. 绑定,模型转换,监控,在我来说,这算是编程上的一个转变,在以后我做不定期的更新一些MV ...

  9. nodejs+mysql 断线重连

    var mysql = require('mysql'); var conn; function handleError () { conn = mysql.createConnection({ ho ...

  10. Global Translator

    Global Translator插件可以把已经通过翻译服务翻译好的内容生成对应语种的“静态”页面,或者说“缓存”起来,这样在一段时间内(可设置)想访问该语种的这 个页面的访客,就可以在不调用翻译服务 ...