本人菜鸟,碰到一个很奇怪的问题同一个数据库用两个账号登录一个数据库查询同一张表,A账号显示正常内容,B账号一条数据不显示。用b插入一条数据b看得到。A看不到插入的书库。这个是为什么。求大神解答一下

解决方案 »

  1.   

    同一张表?这里我们假设这张为t、你的两个账号、A.t  B.t
      

  2.   

    很可能是这两个用户看到的表不一样,
    select * from all_tables where table_name =''
    或者
    select * from dba_tables可能没有权限看下该表对应的用户是否一样
      

  3.   

    -- 问题可能有二:
    -- *(01). 你到底确定是不是同一张表?不一定表名相同就是同一张表哦(也许两张表名相同的表分别在两个不同的用户下呢?这个时候,你应该用 select * from user_name.table_name 的“用户前缀”加以确定);
    -- *(02). 你的表是否作了“细粒度访问控制”,不要问我“细粒度访问控制是什么哦
                比如说员工工资表,也许人家控制你不同的部门员工只能查询本部门的工资呢?
      

  4.   

    了解了上面两点,你就不再会大惊小怪:不同的账号查询同一张表的相同SQL,返回的结果不一样是很正常的事情!
      

  5.   

    很可能是这两个用户看到的表不一样,
    select * from all_tables where table_name =''
    或者
    select * from dba_tables可能没有权限看下该表对应的用户是否一样,不一定是当前用户下的表
      

  6.   

    因为你用户A插入数据时,可能没有提交数据,所以B看不到A插入的数据。
      

  7.   

    有可能是你进行插入之后没有进行提交操作,dml语句是需要commit之后才行的!