oracle 中用户和用户的表之间的关系

cust 2002-10-17 05:38:25
遇到一个麻烦,就是如果我创建了一个用户user1,我把默认表空间设为users
然后建了一个表test,然后又创建了一个用户user2,现在我想用user2登陆数据库,去查询test表的内容,但我不想在test前面加上user1,我该如何解决这个问题?
...全文
131 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cust 2002-10-17
  • 打赏
  • 举报
回复
KingSunSha(弱水三千) ,执行下面的语句我需要什么样的权限??
CREATE PULBIC SYNONYM TEST
FOR USER1.TEST;

我在user1下用告诉我没有权限.我已经给了user1 dba权限
另外,创建完以后,是否任何其他授权用户都可以访问了?
jalen1234 2002-10-17
  • 打赏
  • 举报
回复
在user2的用户下创建同义词,
cust 2002-10-17
  • 打赏
  • 举报
回复
兄弟们,我试验一下.还有,对性能的影响是不是很大,如果影响性能,是否主要是把建立的哪个别名和实际的user1.test对应起来的这部分是影响性能的关键?
ATCG 2002-10-17
  • 打赏
  • 举报
回复
补充一下,关键还是会影响性能,如果表多,可以编个过程来一次性建立同义词。
luckysxn 2002-10-17
  • 打赏
  • 举报
回复
建立PUBLIC synonym

create public synonym talbe1 for user2.table2
ATCG 2002-10-17
  • 打赏
  • 举报
回复
如果你的表很少,按照弱水的办法是可以的,但表的数量很多的话,是很烦的,
甚至还影响性能。
KingSunSha 2002-10-17
  • 打赏
  • 举报
回复
非常容易的事情:建立TEST表的公共同义词
CREATE PULBIC SYNONYM TEST
FOR USER1.TEST;
然后你就能在任何用户下用TEST直接访问USER1.TEST表了,当然前提是你要访问的权限
CONNECT USER1;
GRANT SELECT ON TEST TO USER2;
cust 2002-10-17
  • 打赏
  • 举报
回复
哥么,你不知道的,我这个系统在设计的时候,就是准备用oracle 的用户管理来用户的访问权限,如果现在更改设计的话,那就完了.因为在里面的维护,查询的sql语句都是动态生成,但在以前没有考虑表名前加用户名的问题.
ATCG 2002-10-17
  • 打赏
  • 举报
回复
不可能的,兄弟!
rwq_ 2002-10-17
  • 打赏
  • 举报
回复
你想这么做,和把别人的东西当作自己是不是一样的道理吗?


^-^


还是老实地在表前加个用户名吧!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧