又创建了一个用户起名字叫report3,想访问另外一个用户的表jjjjj,在jjjjj用户下:
    grant select on ic11 to report3   .
我在report3用户下访问jjjjj下的表时需要这样:
    select * from jjjjj.ic11
请问我如何把jjjjj.ic11中的jjjjj去掉,直接就可以访问,即:
    select * from ic11
谢谢

解决方案 »

  1.   

    用report3用户建一个同义词。
    CREATE SYNONYM  ic11 FOR  jjjjj.ic11; 
    然后就可以用 select * from ic11 了。
      

  2.   

    可以建一个和表名一样的同义词,但前提是你建的同义词名称不能跟这个用户下的对象重名:
    create or replace synonym ic11 FOR jjjjj.ic11;
    也可以把通过dblink访问的表建同义词:
    create or replace synonym ic11
      for ic11@DBLINK_test;然后就可以访问
    select * from ic11;
      

  3.   

    创建同义词
    create synonym ic11 FOR jjjjj.ic11; 
    或者在report3用户试用视图
    create view ic11 as select * from   jjjjj.ic11 
      

  4.   

    在report3用户下:
    create synonym ic11 FOR jjjjj.ic11;