码迷,mamicode.com
首页 > 数据库 > 详细

ORACLE显式授权

时间:2015-02-15 14:50:11      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:

同一数据库 
两个不同用户 user1 user2

user1里面有一张表 table1 

在user2里面创建synonym
create synonym sy1 for user1.table1;

创建好之后,直接访问是可以的.

select * from sy1;

是可以取到数据的.

但是放到一个存储过程里

create procedure "proc_test" 
is 
    cursor  cur_test is 
       select * from sy1 where rownum<10;
begin
      open cur_test;
      close cur_test;
end;

就会报错,说表sy1不存在.

但是如果是不同数据库,建立这样的synonym,反而是可以的.

实在是不明白为什么会这样,请高手赐教.

 

如下,其中CUSTOMERINFO是当前数据库的表名,TO后面的是要赋给权限的用户。

 

GRANT ALL ON CUSTOMERINFO TO ESB_ORDER

 

ORACLE显式授权

标签:

原文地址:http://www.cnblogs.com/wpcnblog/p/4292813.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!