oracle中private同义词和public同义词
项目中遇到,遂从网上搜索了下,觉得如下解释较为通俗易懂:
假设oracle有以下两个用户: admin , visitor 我们在admin下建立了 testtable 这个表,并且对visitor用户赋权 然后我们用visitor登陆 : 查询这个表的时候我们一定需要这样写 select * from admin.testtable 如果直接写 select * from testtable oracle会报错说表不存在 但是我们可以在visitor里建立[私有同义词] 让 testtable = admin.testtable 这样在visitor下就可以直接输入 select * from testtable进行查询 但是如果用户很多的情况下会觉得很麻烦,因为每个用户都需要加[私有同义词] testtable=admin.testtable 所以就出现了 [公有同义词] 直接在admin用户下建立公有同义词 testtable = testtable 这样做好后,所有的用户都可以直接使用 select * from testtable 进行访问而并不需要加前缀,也不用再加[私有同义词]了
项目中例子:
oracle 用户 infsa 下 有表 a,把权限赋给infss用户
在infsa下执行
grant all on a to infss ;
create public synonym inf for a;
相关推荐
tmaczt 2020-01-21
zhangchaoming 2019-12-26
aspaspx 2019-10-21
tangh 2019-04-27
中草药代码 2009-07-29
wenchanter 2019-06-21
iceghostsc 2016-05-15
无限未来 2015-07-21
enjoyandenjoy 2013-11-26
盖世小可爱 2013-06-22
kkikiako 2013-06-21
DCLCSDN 2013-01-10
lester 2012-11-02
anshenoracle 2012-05-22
oracleKing 2012-03-20
oracleerp 2011-08-28
执米之手与米偕老 2011-04-11
午后红茶 2010-06-29