oracle下 system表空间下有个表PERSON请问我在PL/SQL下怎么查询表 我用select * from PERSON 不好使 说表或视图不存在还有就是在EMC下找到该表怎么查看表中内容  谢谢了

解决方案 »

  1.   

    select * from system.person;
    前提是 system要给你的pl/sql登录用户授权:grant select on person to xxx;
      

  2.   

    表或视图不存在,说明你的PERSON表不在当前所在用户下,加上system.person应该可以,并且当前用户有访问system.person的权限才行,没有的话就要像1楼所说的,grant select on person to 当前用户!
      

  3.   

    grant select on person to xxx
                    *
    ERROR 位于第 1 行:
    ORA-00942: 表或视图不存在
      

  4.   

    用system用户去附这个权限试下。
      

  5.   

    SQL> CONN /AS SYSDBASQL> SELECT OWNER FROM DBA_TABLES WHERE TABLESPACE_NAME ='SYSTEM' AND TABLE_NAME='PERSON';得到OWNER的值XXX,然后执行:SQL> SELECT * FROM XXX.PERSON;
      

  6.   

    6楼  我执行你写的了  结果是 未选定行xxx不就是表空间吗  PERSON在表空间SYSTEM里 可是我SELECT * FROM SYSTEM.PERSON;怎么也不对呢
      

  7.   

    -- 再试试看.
    SELECT OWNER FROM DBA_TABLES WHERE TABLE_NAME='PERSON';
      

  8.   

    xxx是六楼的语句给你查到的owner的值。然后你执行
    SELECT * FROM XXX.PERSON
      

  9.   

    挺奇怪的,按理加了schema如果有权限应该可以查到
      

  10.   

    qqqqqwwqqq   你已经做对了,只是你的表没有数据,你要先在表中添加数据才能显示数据,否则只能显示未选定行
      

  11.   

    PERSON表中有数据执行 SELECT OWNER FROM DBA_TABLES WHERE TABLE_NAME='PERSON'; 说是未选定行