比如我用user1用户登录后创建了一个表table1,创建表时没有指定表空间。然后我用另外一个用户登录,结果是查不到刚才创建的表table1!
请问这是为什么?是不是因为两个用户的默认表空间不同而每个用户只能查看自己所对应的表空间中的表呢?
请给于帮助,先谢谢了啊!

解决方案 »

  1.   

    首先,user2要有查询user1下表table1的权限;
    其次,使用user2登录后,要用 select * from user1.table1; 这样的语句查询。
      

  2.   

    开放权限???????是执行下面这样的语句吗?
    grant select,insert,update on table1 to user2;
    如果我想用user2用户访问user1中的多张表是不是要执行多次类似上述的语句呢,有没有其他什么方法呢?
      

  3.   

    若user1有grant权限,则用其登录后,
    grant select any table to user2;
    user2登录后就可以查询user1下的所有表。
      

  4.   

    问题应该是,你建的表是在原来的表空间下,你换了一个用户登录,默认的就是当前用户的表空间,所以你直接select   *   from   table1就不对。应该加上原来的用户,select   *   from   user1.table1; 这样就可以了。主要是新登录用户的表空间不同,不能直接默认方式查询。 
      

  5.   

    首先:grant  all on table1  to other_user(另外一个用户),然后select * from usr1.table1 即可!
      

  6.   

    是权限问题  
    user2没有user1的table1的操作权限  把table1的权限赋给user2,user2就可以访问了
    grant (select/insert/update/delete/all) on table1 to user2;
    用user2登录后,select * from user1.table1; 就可以查到table1了
      

  7.   

    你先看看,你的第一个用户默认的表空间是哪个,到那个表空间中看看表是不是在这里。
    用另一个用户登录后,你查询时: select * from 表空间.表名,这样查看看