资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

oracle如何查所有同义词 Oracle怎么查询

如何查看Oracle中同义词的表结构

1.@dblink是你要查询的同义词对应的database link。

成都创新互联公司是一家集网站建设,章贡企业网站建设,章贡品牌网站建设,网站定制,章贡网站建设报价,网络营销,网络优化,章贡网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

2.表名是在db link里的表名,不是在你库中同义词里的表名,如下图:不是S_SALES_BLL,而是B_SALES_ALL。

3.表名区分大小写。PS:表名如果是大写,你写小写,那就查询结果为空。

oracle中system创建的公有同义词,为什么有的用户不能访问?

这种情况应该是授予权限的问题造成的。

1、表的所有用户要给表授予公共权限。例如:授予查询权限“grant select on 表 to public”;

2、建立公有同义词不要忘了加上public选项,如:create public sysnonym。

同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。Oracle的同义词有两种类型:公有同义词与私有同义词。

(1)公有同义词由一个特殊的用户组Public所拥有。

(2)私有同义词是由创建他的用户所有。

创建同义词的语法:Create [public] synonym 同义词名称 for [username.]objectName

删除同义词的语法:Drop [public] synonym 同义词名称

查看所有同义词:select * from dba_synonyms

oracle 查看同义词

SELECT * FROM SYS.ALL_SYNONYMS WHERE SYNONYM_NAME='S'.里面有同义词的表与用户

oracle 怎样查看同义词的创建语句

1.你可能需要在user用户中给当前用户(user2)授权: grant select/delete/update on user2

 

创建同义词:

create public synonym table_name for user.table_name;

2.删除同义词:

drop public synonym table_name;

3.查看所有同义词:

select * from dba_synonyms

Oracle中使用同义词介绍

一、背景

有两个sid:Asid,Bsid,在Asid下有两个用户Auser1,Auser2,在Bsid下有一个用户Buser1。其中Auser2和Buser1建立了dblink。现希望通过登录Buser1访问Auser1上的三张表table1,table2,table3信息和函数function1。

二、步骤

①登录Auser1对Auser2授权(若需要删除则加上)

grant ,select,on table1 to Auser2;

grant ,select,on table2 to Auser2;

grant ,select,on table3 to Auser2;

grant execute on function1 to Auser2;

②登录Auser2建立同义词

create synonym table1 for Auser1.table1;

create synonym table2 for Auser1.table1;

create synonym table3 for Auser1.table1;

create synonym function1 for Auser1.function1;

③登录Buser1查找db_link名(例如查出来的db_link名为mydblink1)

select username,db_link from user_db_links

④建立Buser1的同义词

create synonym table1 for Auser2.table1@mydblink1;

create synonym table2 for Auser2.table2@mydblink1;

create synonym table3 for Auser2.table3@mydblink1;

create synonym function1 for Auser2.function1@mydblink1;

⑤测试

此时登录Buser1通过select * from table1就可以访问table1了。

三、注意点

也可以建立procedure的`同义词,但是这样执行的过程中不允许commit。如果要提交的话请在如JDBC中commit()。


标题名称:oracle如何查所有同义词 Oracle怎么查询
分享路径:http://cdkjz.cn/article/hgegie.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220