Oracle synonym 同义词

  1、Oracle synonym 同义词是数据库当前用户通过给另外一个用户的对象创建一个别名,然后可以通过对别名进行查询和操作,等价于直接操作该数据库对象。

  2、Oracle同义词常常是给表、视图、函数、过程、包等制定别名,可以通过CREATE 命令进行创建、ALTER 命令进行修改、DROP 命令执行删除操作。

  3、Oracle synonym 同义词按照访问权限分为私有同义词、公有同义词。

  4、私有同义词:私有同义词只能当前用户可以访问,前提:当前用户具有create synonym 权限。

  5、公有同义词:公有同义词只能具有DBA用户才能进行创建,所有用户都可以访问的。

语法结构:

  CREATE [OR REPLACE] [PUBLIC] SYSNONYM [当前用户.]synonym_nameFOR [其他用户.]object_name;

解析:

  1、create [or replace] 命令create建表命令一样,当当前用户下同义词对象名已经存在的时候,就会删除原来的同义词,用新的同义词替代上。

  2、[public]:创建的是公有同义词,在实际开发过程中比较少用,因为创建就代表着任何用户都可以通过自己用户访问操作该对象,一般我们访问其他用户对象时,需要该用户进行授权给我们。

  3、用户名.object_name:oralce用户对象的权限都是自己用户进行管理的,需要其他用户的某个对象的操作权限,只能通过对象拥有者(用户)进行授权给当前用户。或者当前用户具有系统管理员权限(DBA),即可通过用户名.object_name操作该对象。

案例分析:

  我们在school用户下也创建了一张学生信息表(stuinfo),该信息表只存在一个学生信息“张三”。由于我们当前用户student用户不具有school.stuino的权限,因此要需要该用户授权,然后才能访问。

操作如下:

  1、--未授权之前查询(提示表不存在,没有操作权限)select * from school.stuinfo;

  2、--登录jsq_copy用户进行授权 conn school/123456;  grant all on stuinfo to student;

  3、--授权后再次查询该表数据 conn student/123456;  select * from school.stuinfo;

同义词创建

  我们现在为school.stuinfo创建同义词stuinfo_copy,然后通过当前用户student直接操作同义词stuinfo_copy查询school.stuinfo表数据。

  代码如下:

    create synonym stuinfo_copy for school.stuinfo;

  创建同义词之后,即可使用select *from stuinfo_copy 进行查询,效果等同于select *from school.stuinfo。

同义词删除

  同义词删除只能通过同义词拥有者的用户或者具有DBA权限的用户才能删除。

语法结构:

  DROP [PUBLIC] SYNONYM [用户.]sysnonym_name;

Oracle synonym 同义词的更多相关文章

  1. ORACLE SYNONYM详解

    以下内容整理自Oracle 官方文档 一 概念 A synonym is an alias for any table, view,materialized view, sequence, proce ...

  2. oracle的同义词总结

      oracle的同义词总结   从字面上理解就是别名的意思,和视图的功能类似.就是一种映射关系.   同义词拥有如下好处:   节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;  扩展的 ...

  3. oracle 创建同义词

    1.语法: 同义词 (SYNONMY) CREATE SYNONYM同义词名FOR 表名; CREATE SYNONYM同义词名FOR 表名@数据库链接名; Create synonym synony ...

  4. oracle之同义词

    同义词 从字面上理解就是别名的意思,和视图的功能类似.就是一种映射关系. 14.1 私有同义词; 一般是普通用户自己建立的同义词,创建者需要create synonym 权限. sys:SQL> ...

  5. Oracle用同义词可以不使用用户名.表名查询表 Oracle 创建synonym

    一般在PL/SQL下,Oracle 用户查询其他用户的表一定要使用user.table格式才能查询,每次用户名.表名嫌麻烦的话.可以使用同义词,意思将user.table访问格式改成table格式即可 ...

  6. 创建Oracle synonym 详解

    --创建使用同义词 --同义词就是给表.视图等对象取得别名,用于简化对其的访问 --分为2种: --私有同义词:用户自己创建自己使用的 --公共同义词:dba创建,给其它用户使用的 --为dept_s ...

  7. 【Oracle】同义词问题

    优点: 1.节省数据库空间,多用户可以操作同一张表: 2.扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互: 3.利用Database Link.创建同义词可以实现不同数据库服务器之间的 ...

  8. [oracle] DBLINK +同义词,实现本地数据库访问另一台机器的数据库

    起因:订单表原来在90库上,后各种原因移到了40库上,需访问40库上的订单表.采用DBLINK+同义词方法: -- 1 在90机器上用GPSV4登录PLSQL,创建DBLINK,从本地数据库,连接到远 ...

  9. Oracle数据库同义词

    一.定义 同义词顾名思义,是数据库方案对象的一个别名.这里的数据库方案对象指表.视图.序列.存储过程.包等. 二.同义词的好处 1.不占内存空间,节省大量的数据库空间 2.简化了数据库对象的访问 3. ...

随机推荐

  1. Angular 自定义拖拽指令

    指令 组件是一种带模版的指令.指令是超级. 结构型指令(改变布局)和属性型指令(改变外观和行为). Renderer2和ElementRef Angular不提倡直接操作DOM 对于DOM的操作应该通 ...

  2. apache poi 读取xlsx并导出为json(没考虑xls)

    1.用到的jar包:fastjson-1.2.9.poi(poi-3.15.poi-ooxml-3.15.poi-ooxml-schemas-3.15.xmlbeans-2.6.0.commons-c ...

  3. Linux下system()函数的实现

    #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types. ...

  4. VS挂机移动鼠标代码

    #include <time.h> #include <stdio.h> #include <Windows.h> HANDLE ghMutex; //////// ...

  5. python全栈开发day115、116-websocket、websocket原理、websocket加解密、简单问答机器人实现

    1.websocket 1.websocket 与轮询 轮询: 不断向服务器发起询问,服务器还不断的回复 浪费带宽,浪费前后端资源 保证数据的实时性 长轮询: 1.客户端向服务器发起消息,服务端轮询, ...

  6. log4j警告:WARN Please initialize the log4j system properly 的解决方法

    出现这个问题的原因则是因为没有为log4j建立配置文件导致的.所以解决问题的方法很简单,只要在 src文件目录下建立配置文件即可: 右键点击src  -> New  ->  File 文件 ...

  7. 前端如何做好seo

    一:什么是SEO? 搜索引擎优化(Search Engine Optimization),简称SEO.是按照搜索引擎给出的优化建议,以增强网站核心价值为目标,从网站结构.内容建设方案.用户互动传播等角 ...

  8. Linux学习之基本操作命令

    目录基本操作命令 列目录内容ls ls  [options]  [files]  #options是可选参数 常用可选参数:-a 所有文件及目录 -A 等同于-a,但是不列出.以及..   -l 长格 ...

  9. Android Studio 2.1及其以上版本中的instant run功能 介绍

    Android Studio 2.0及其以后版本中的instant run功能 介绍 转 https://blog.csdn.net/zy987654zy/article/details/514961 ...

  10. Codeforces 1144F Graph Without Long Directed Paths (DFS染色+构造)

    <题目链接> 题目大意:给定一个无向图,该无向图不含自环,且无重边.现在要你将这个无向图定向,使得不存在任何一条路径长度大于等于2.然后根输入边的顺序,输出构造的有向图.如果构造的边与输入 ...