oracle中private同义词和public同义词

来源:网络 责任编辑:栏目编辑 发表时间: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;

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Table函数使用简介
      • Oracle数据库Constraint约束的常用操作及异常处理
      • Bulk Collect性能分析(zz)
      • export/import的使用
      • OCP043第十五讲 Database Security
      • ORACLE10gr2数据导入MySQL方案
      • oracle 让sys用户可以使用isqlplus
      • 在oracle数据库下使用iSQL*Plus DBA访问数据库
      • Oracle行列转换小结
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1