当前位置: 首页 > news >正文

Oracle 的同义词(Synonym) 作用

 

Oracle 同义词(Synonym) 是数据库对象的一个别名,Oracle 可以为表、视图、序列、过程、函数、程序包等指定一个别名。同义词有两种类型:

  1. 私有同义词:拥有 CREATE SYNONYM 权限的用户(包括非管理员用户)即可创建私有同义词,创建的私有同义词只能由当前用户使用。
  2. 公有同义词:系统管理员可以创建公有同义词,公有同义词可以被所有用户访问
     

1.同义词优点

1.节省数据库空间,多用户可以操作同一张表;

2.扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;

3.利用Database Link.创建同义词可以实现不同数据库服务器之间的无缝连接(通过网络连接)

2.创建同义词

创建同义词的语法是:

CREATE [OR REPLACE] [PUBLIC] SYSNONYM [schema.]synonym_name FOR [schema.]object_name

语法说明:

CREATE [OR REPLACE]:表示在创建同义词时,如果该同义词已经存在,那么就用新创建的同义词代替旧同义词。
PULBIC:创建公有同义词时使用的关键字,一般情况下不需要创建公有同义词。
Oracle 中一个用户可以创建表、视图等多种数据库对象,一个用户和该用户下的所有数据库对象的集合称为 Schema(中文称为模式或者方案),用户名就是 Schema 名。一个数据库对象的全称是:用户名.对象名,即 schema.object_name。

1.同一个数据库服务器上的不同用户,共同操作一张表

用户A,B;用户A 操作B中的 operatoren表;

则需要在用户A中创建B中operatoren的同义词:

create public synonym operatoren_syn for B.operatoren;

其中:synonym 是关键字,operatoren_syn为同义词的名称;

在用户A上执行 可以查询出用户B中operatoren 表中所有的数据。

select * from operatoren_syn

2.不同数据库服务器上的不同用户间创建同义词

create database link a_aa connect to sms591R1 identified by  sms591R1 using '32.152';

32.152 是本地tns名称;

创建完dblink后 可以查询出152上用户TB591R1的所有数据

select * from righten@a_aa;
3.删除同义词

删除同义词语法

DROP [PUBLIC] SYNONYM [schema.]synonym_name

语法说明:

  1. PUBLIC:删除公共同义词。
  2. 同义词的删除只能被拥有同义词对象的用户或者管理员删除。
  3. 此命令只能删除同义词,不能删除同义词下的源对象。

上一篇:Oracle 如何将txt文件中的数据导入数据库

相关文章:

  • 加速你的应用:探索Redis的极致性能与多样化应用
  • 客户案例|100M 768 维向量数据,Zilliz Cloud 稳定支持 Shulex VOC 业
  • Java基于SpringBoot+Vue的人事管理系统,附源码
  • 洛谷 P1036 [NOIP2002 普及组] 选数
  • WPF实现一个表格数据从cs获取动态渲染
  • linux使用LVM管理磁盘,并扩容“磁盘“
  • Windows安装Go语言及VScode配置
  • oracle触发器
  • 算法-贪心-112. 雷达设备
  • LeetCode 0299.猜数字游戏:计数
  • 如何正确选择国外服务器的带宽和线路呢?
  • Docker 配置阿里云镜像加速器
  • Redis快速入门
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(模态转场设置:全屏模态转场)
  • 首次实现Go调用C的dll文件
  • 【笔记】你不知道的JS读书笔记——Promise
  • Apache的基本使用
  • iOS编译提示和导航提示
  • Javascript 原型链
  • JavaScript新鲜事·第5期
  • js
  • Map集合、散列表、红黑树介绍
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • vue.js框架原理浅析
  • Windows Containers 大冒险: 容器网络
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 复习Javascript专题(四):js中的深浅拷贝
  • 给github项目添加CI badge
  • 诡异!React stopPropagation失灵
  • 十年未变!安全,谁之责?(下)
  • 算法-图和图算法
  • 学习JavaScript数据结构与算法 — 树
  • 优秀架构师必须掌握的架构思维
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​MySQL主从复制一致性检测
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (1)(1.11) SiK Radio v2(一)
  • (3)(3.5) 遥测无线电区域条例
  • (6)STL算法之转换
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (solr系列:一)使用tomcat部署solr服务
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (一)kafka实战——kafka源码编译启动
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (转载)深入super,看Python如何解决钻石继承难题
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • **PHP二维数组遍历时同时赋值
  • **python多态