刚下载了个plsql developer7.14并安装好后,打开运行下,
用SYSTEM身份登录的,新建了 SQL窗口,然后写了一条SQL语句SELECT * FROM EMP;按F8运行,结果报错:ROA-00942:表或视图不存在。然后我就进入SQL*PLUS也是用SYSTEM登陆同样运行SELECT * FROM EMP; 这个没报错,有结果出来。这个是为什么啊?为什么在plsql developer会出错呢?

解决方案 »

  1.   

    这个绝对不可能的
    emp是属于scott用户下的表
    只有用scott身份登录时 才可以这样写:SELECT * FROM EMP;
    否则 只能这样写 SELECT * FROM SCOTT.EMP;
      

  2.   


    我是先用SYSTEM登陆 创建了个新的EMP表,并添加了一条记录的。
      

  3.   

    呵呵 ,你是在SQL*PLUS中创建的EMP表,还没有commit吧?COMMIT一下就可以了。
      

  4.   


    那个emp表是很早就创建了的啊。刚试了下 COMMIT ,在plsql developer 还是报错。郁闷了啊。。
      

  5.   

    哎,刚在plsql developer 这样写就可以查询到了
    SELECT * FROM SYSTEM.EMP;这样就有结果了。我本来就是用system登陆的,为啥还要这样写?
    而且只要是在 SQL*PLUS 里用system登陆创建的新表,然后去plsql developer 都需要在写表名的是很加上 SYSTEM.xxx   为什么啊??我在plsql developer 用SYSTEM登陆创建一个新表,但在SQL*PLUS里用SELECT却报错,不管怎么写都说表不存在,晕啊。。这到底咋搞的啊。。
    你们就没出现过这问题吗??
      

  6.   

    没遇到过这种情况 
    你在system下建表  查询时 就不需要加上system 直接select * from emp就可以 
      

  7.   

    如果有问题,就是oracle出现了bug  
      

  8.   

    呵呵
    一般都在用SQL*PLUS
    最近正准备熟悉熟悉TOAD和PL/SQL DEV楼主你试试看说不定PL/SQL DEV里面有个地方可以设置在查询时不需要加用户名前缀的
    我嘛暂时还没找到 如果发现的话告诉你
      

  9.   

    哎,郁闷啊,算了,我还是用SQL*PLUS。。谢谢各位了,给你们分。。