oracle 批量修改同义词,Oracle批量创建同义词
一、介绍
Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互。
很多时候,会有多个oracle账号访问一个账号下的表,比如:USER_A用户下面有很多表,相关的sql语句都是USER_A.Tablename等等等,这时候需要用USER_B用户去访问USER_A的表,但是sql语句还要保持USER_A.Tablename,就需要用到同义词了
同义词分类: Oracle同义词有两种类型,分别是Oracle公用同义词与Oracle私有同义词。普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。
Oracle公用同义词:由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标示一些比较普通的数据库对象,这些对象往往大家都需要引用。
Oracle私有同义词:它是跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否有权使用属于自己的私有同义词。
二、创建同义词
语法:
CREATE [OR REPLACE] [PUBLIC] SYNONYM [ schema.] 同义词名称 FOR [ schema.] object [ @dblink ];
专有(私有)同义词
CREATE SYNONYM SYSN_TEST FOR TEST;
公共同义词
CREATE PUBLIC SYNONYM PUBLIC_TEST FOR TEST;
2.1首先需要sys用户授权USER_B创建同义词权限
其中USER_B是需要创建同义词的用户
GRANT CREATE SYNONYM TO USER_B;
这个时候还需要一个权限就是USER_B用户select USER_A用户table的权限,这个时候是在USER_A用户下赋值的
grant select on tableA to user_temp;
2.2创建同义词
create synonym USER_B.Tablename for USER_A.Tablename;
2.3测试同义词
使用USER_B用户oracle,有输出结果代表可以在USER_B用户下以USER_B的schema查看USER_A的表
select count(*) from USER_B.Tablename;
三、批量创建同义词
很多时候,当前环境下的表有几百张甚至几千张,很多人说可以select * from dba_tables where owner='UPCENTER' 把表名查出来,用notpad拼成命令,批量执行,这里是行不通的,因为每条命令的行尾都不一样(表名不同) 这时候可以先用notpad软件把USER_B用户select USER_A用户table的权限批量执行,然后再执行下面的命令,把输出结果执行以下即可:
select 'create synonym USER_B.'||table_name||' for upcenter.'||table_name||';' from dba_tables where owner='USER_A'
四、查看同义词和删除同义词
4.1查看用户下的同义词
SELECT * FROM DBA_SYNONYMS where OWNER = 'UPAPP';
4.2删除同义词
DROP SYNONYM SYSN_NAME;
oracle 批量修改同义词,Oracle批量创建同义词相关推荐
- 如何批量修改文件名?批量修改照片文件名和添加前缀
通常我们使用手机或者相机拍摄了一堆照片拷贝到电脑之后,照片的命名通常都是随机混乱的,如果要规范文件命名,你是不是会去一个一个去修改文件名呢?其实完全不需要这么麻烦,今天电脑百事小编就来教大家一个批量快 ...
- 计算机怎么快速改图片名称,如何批量修改文件名?批量修改照片文件名和添加前缀方法...
通常我们使用手机或者相机拍摄了一堆照片拷贝到电脑之后,照片的命名通常都是随机混乱的,如果要规范文件命名,你是不是会去一个一个去修改文件名呢?其实完全不需要这么麻烦,今天电脑百事小编就来教大家一个批量快 ...
- oracle 授权同义词权限不足,创建同义词ora-01031权限不足
我需要帮助了解用户需要何种授权/权限才能在指向另一个(不同的)模式对象时创建SYNONYM.创建同义词ora-01031权限不足 当我尝试下面的内容时,我得到的ora-01031权限不够,所以显然我失 ...
- oracle mysql 同义词_Oracle数据库创建同义词(synonym)详细讲解
1.1数据库创建同义词(synonym) Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系.它可以节省大量的数据库空间,对不同用户的操作同一张表没 ...
- oracle表修改语句,Oracle的常用修改表及字段的语句
单行注释:-- 多行注释:/* */ Oracle中修改表结构 增加字段 ALTER TABLE table_name ADD column_name data_type; 删除字段 ALTET TA ...
- python改文件名_python批量修改文件名、批量修改xml文件的path和filename
1. python批量修改文件名(控制文件名的起始编号) import os path = "E:/Project/label/fire/" # 目标路径 filename_lis ...
- python 批量修改文件名_Python 批量修改文件名
当你从网络下载一季电视剧或一部电影时,文件名前边可能有很多前缀,比如说圣城家园,人人影视或者其他什么的. 在查看文件时往往只显示前面的一些不是那么必要的字符了,降低了查看文件名的效率,在文件夹里看起来 ...
- python怎样批量修改文件大小_python:批量修改文件名批量修改图片尺寸
功能:批量修改图片尺寸 图像的几何变换,如缩放.旋转和翻转等,在图像处理中扮演着重要的角色,python中的Image类分别提供了这些操作的接口函数,下面进行逐一介绍. 1.图像的缩放 图像的缩放使用 ...
- python批量修改图片内容_python批量修改图片大小的方法
本文实例为大家分享了python批量修改图片大小的具体代码,供大家参考,具体内容如下 引用的模块 from PIL import Image Image的使用 def resize_image(img ...
- ae批量修改字体_批量修改文字样式字体AE脚本CreativeDojo Dojo Text Updater V1.0
批量修改文字样式字体AE脚本CreativeDojo Dojo Text Updater V1.0 Dojo Text Updater是一个由CreativeDojo开发的After Effects脚 ...
最新文章
- rsync文件同步的两种方式——ssh协议和守护进程(端口873)
- 高速缓存系统之redis c++使用实例
- ffmpeg avi 1080P解析 编译选项
- 详解ASP.NET页面的aspx扩展
- Python中__new__和__init__的区别与联系
- 有趣的css图形实现
- ES6规格之数组的空位
- 培养用户习惯才是软件的唯一出路!
- .NET框架图解之五:System.Reflection
- dism++封装系统使用教程_win7系统部署工具Dism的操作方法
- 在Ubuntu 18.04中安装ROS操作系统
- css canvas_混合canvas API和HTML / CSS模型
- 趁年轻,我们干点什么吧
- 微带线 带状线 过孔的时延对比
- ES6 语法之 Set 与 Map 数据结构
- 51单片机定时时间的计算
- [BJDCTF 2nd]假猪套天下第一
- Firefox火狐浏览器打开页面链接的方式的设置
- 互联网日报 | iPhone 12系列手机正式发布;盒马入局火锅市场;东风汽车A股IPO申请获受理...
- 解决labelimg闪退
热门文章
- php 单笔转账到支付宝账户,php之支付宝转账或发红包到指定账户(提现功能)
- SecureCRT 64位 破解版v8.1.4及安装
- 腾讯课堂视频回放下载(Edge浏览器+猫抓+夸克浏览器)
- 【公司邮箱怎么注册】Foxmail帐户邮箱数据保存在什么地方?如何备份一个帐户?
- 【Java教程】UDP实现群聊聊天室
- python 二项分布_Python模拟伯努利试验和二项分布代码实例
- Python编程基础的应用
- cad修改快捷键_CAD快捷键,提高绘图速度
- 九层之台,起于累土:码良组件开发
- web微信授权登录-代码篇