小白问题:直接访问其他用户的表,不用在表前加用户名。

ffuu 2011-11-21 10:58:51
如题:

A用户下面有表table1
创建用户B,只有connect和Select权限。

能否使B访问A的表时这样写 select * from table1, 而不是 select * from A.table1。

各位大拿详细说说 , 谢谢 !
...全文
125 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffuu 2011-11-22
  • 打赏
  • 举报
回复
谢谢各位啦,已经解决了问题。还有几个不清楚的地方。

我就是直接在B里面创建同义词 create synonym table1 for A.table1; 然后给B以Select权限。
一定要建立public的同义词吗?
oO寒枫Oo 2011-11-21
  • 打赏
  • 举报
回复
在DBA 下面创建 表 table1 的同义词
create public synonym table1 for 用户A.table1;

然后在用户A下面把这个同义词的select 权限 赋予 B用户
grant select on 用户B;
BenChiM888 2011-11-21
  • 打赏
  • 举报
回复

--只能采用公有同义词的方式(public synonym),你必须给B用户create public synonym的权限
----或者采用其他大权限用户如 sys system 创建相关的同义词,同时将B用户下表的查询权限付给相应用户
--如:

[SYS@myoracle] SQL>create user test identified by test;

用户已创建。

[SYS@myoracle] SQL>grant connect ,resource to test;

授权成功。

[SYS@myoracle] SQL>create user test1 identified by test1;

用户已创建。

[SYS@myoracle] SQL>grant connect ,resource to test1;

授权成功。

[SYS@myoracle] SQL>conn test1/test1
已连接。
[TEST1@myoracle] SQL>create table t1(id int);

表已创建。

[TEST1@myoracle] SQL>conn test/test
已连接。
[TEST@myoracle] SQL>select * from test1.t1;
select * from test1.t1
*
第 1 行出现错误:
ORA-00942: 表或视图不存在


[TEST@myoracle] SQL>conn / as sysdba
已连接。
[SYS@myoracle] SQL>create public synonym t1 for test1.t1;

同义词已创建。

[SYS@myoracle] SQL>conn test/test
已连接。
[TEST@myoracle] SQL>select * from t1;
select * from t1
*
第 1 行出现错误:
ORA-00942: 表或视图不存在


[TEST@myoracle] SQL>conn test1/test1
已连接。

[TEST1@myoracle] SQL>grant select on t1 to test;

授权成功。

[TEST1@myoracle] SQL>conn test/test
已连接。
[TEST@myoracle] SQL>select * from tab;

未选定行

[TEST@myoracle] SQL>select * from t1;

未选定行

[TEST@myoracle] SQL>desc t1;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
ID NUMBER(38)

[TEST@myoracle] SQL>

BlueskyWide 2011-11-21
  • 打赏
  • 举报
回复
grant create any synonym to B;
BlueskyWide 2011-11-21
  • 打赏
  • 举报
回复
创建同义词。
coolkisses 2011-11-21
  • 打赏
  • 举报
回复
同义词多了,倒并不利于管理。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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