文档章节

oracle 创建同义词

之渊
 之渊
发布于 2017/04/19 09:08
字数 538
阅读 27
收藏 0

创建同义词对于我的项目来说, 主要是为了 jdbc 写SQL的时候, 不需要在 表的前面加上 用户名称。 因为 SQL已经写好了,改起来麻烦,开发起来也麻烦。 即, A 用户要访问B 用户的表,不用加上 b.xxx 的表名。 可是百度了一通, 说得 看起来乱乱的, 对于菜鸟来说, 看起来懵了,还有什么鬼视图的。。看不懂。 只好自己尝试了。 比如 ehr 用户要访问 bms 用户下的表 CPCUSER 如果不使用同义词 即要使用 :

SELECT * FROM bms.CPCUSER WHERE username='xx'

怎么 创建同义词呢, 是在 ehr 用户 下面 创建 同义词的, 即 首先 ehr 用户要有 查询 bms 用户的表的权限,也要有 创建 同义词的权限。、 如果没有请给他创建权限。 或者使用 sys 更高一级的用户去创建同义词, 如果不行,就创建 公用的 public 的同义词。 由于我的 ehr 是有 dba的权限的, 所以我就 在 ehr 下创建同义词了,因为 就是 bms有 dba的权限,创建同义词并没有效果,也许我创建的并不是 public 的同义词吧 使用 ehr 用户 登录 ,执行 下面的创建同义词的语句:

create synonym CPCORG for bms.CPCORG ;

这时候可以在 使用ehr 用户下执行下面的SQL 查询了,不用加上 用户的名称了:

SELECT * FROM CPCORG  WHERE  ORGNAME='电热公司'
	

如果比较多表怎么办呢? 比如:

select 'CREATE SYNONYM '||table_name||'  FOR BMS.'||table_name ||';' from ALL_TABLES where owner = 'BMS' 
	AND table_name NOT LIKE 'TMP%'
  

将查询出来的 结果复制 再 批量执行创建同义词 即可。 相同的方法,也是可以 批量 将 对应表给 ehr 用户 授权查询 等权限的

当前 如果当前 的用户没有创建或删除 同义词的权限怎么办? 使用 dab 或者 sys 权限的 账户登录 执行 下面的 同义词 语句即可

DROP SYNONYM EHR.CPCORG; -- 删除EHR 用户的 同义词
		
                --为 ehr用户 创建 bms表cpcorg的同义词 
		create synonym EHR.CPCORG for bms.CPCORG ; 

© 著作权归作者所有

之渊
粉丝 13
博文 643
码字总数 195996
作品 0
佛山
程序员
私信 提问
Oracle 同义词创建及其作用

在Oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们,我们也是能对数据库进行操作的,但是我们必须要已...

鉴客
2011/07/12
288
0
Oracle同义词创建及作用,数据库链接Database Link

同义词概念 Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据...

习惯了-想你
2016/12/21
105
0
Oracle 的同义词(synonyms)总结

Oracle的同义词(synonyms)从字面上理解就是别名的意思,和试图的功能类似,就是一种映射关系。本文介绍如何创建同义词语句,删除同义词以及查看同义词语句。 oracle的同义词总结: 从字面上...

鉴客
2011/07/12
152
0
Oracle对象下集(序列、同义词、分区表、database link)

本人所有博文纯手码,给个关注或者赞吧!博主:张晨晨QQ:1445696451欢迎随时加Q讨论技术。 一、Oracle的序列 ·序列是用来生成惟一的连续的整数的数据库对象。序列通常可以用来自动生成主键或...

张晨chat
2018/05/31
0
0
Oralce专题10之Oracle的其他数据库对象

1、Oracle的数据库对象:序列 a、什么是序列? 序列(sequence):是一种用于自动生成唯一数字的数据库对象。主要用于提供主键值。 b、怎样创建序列? 创建序列的语法格式: 示例: c、怎样使...

极客微信条
2017/12/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot集成elasticsearch-rest-high-level-client的坑

我使用的是Elasticsearch7.2.0,由于官网上推荐使用elasticsearch-rest-high-level-client端集成在springboot所以尝试爬坑。 首先直接引入官网的配置文件 <dependency> <grou...

MuzzyXu
1分钟前
0
0
ECMAScript运算符之《等性运算符》

等性运算符一般用在判断两个变量是否相等的运算。在处理原始值时,这种运算相当简单,涉及对象,任务就稍有点复杂。 性运算符分: 1、等号和非等号用于处理原始值 2、全等号和非全等号用于处...

专注的阿熊
3分钟前
0
0
ssh-keygen -t rsa -C "注释内容,一般为邮件地址",生成的公钥后面会带上注释,这个注释有什么用处呢?

ssh-keygen -t rsa -C "注释内容,一般为邮件地址",生成的公钥后面会带上注释,这个注释有什么用处呢? donhui 发布于 2015/11/12 16:47 阅读 5K+ 收藏 0 答案 1 补充话题 OpenSSH 为什么8...

linjin200
5分钟前
0
0
Proxy用法——让我们创建一个API代理器

什么是Java Proxy? MDN对Proxy 的定义是: Proxy对象用于定义基本操作的自定义行为(如属性查找、赋值、枚举、函数调用等)。 通俗的将,Proxy对象是目标对象的一个代理器,任何对目标对象的...

AiChinaTech
9分钟前
0
0
Nginx--面试基础必会

文章原创于公众号:程序猿周先森。本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号。 最近一直在更新关于Nginx的系列文章,终于将Nginx的几个关键知识点讲的差不多了。本篇作为Ngi...

程序猿周先森
10分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部