oracle中private同义词和public同义词
来源:网络 责任编辑:admin 发表时间:2013-07-01 06:51 点击:次
项目中遇到,遂从网上搜索了下,觉得如下解释较为通俗易懂:
假设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;
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 进入详细评论页>>