我刚装完oracle,然后装了一个PLSQL Developer ,然后新建了一个普通用户,授权,然后又建了一个表空间tablespace1,然后又建了表student
但是,我用sql语句执行 select * from student 就报错,说表和视图不存在,然后我在table里找到了student表,查看了它在tablespace1里,我就点到tablespace1里,然后在tablespace1把名字拖到 from后面,语句还是select * from student,但再执行就可以查了我把PLSQL Developer关了,重新再登陆,select * from student 依然报错,非得在tablespace1里找到了student表,然后在tablespace1把名字拖到 from后面,语句还是select * from student,才能执行,请问这是为什么,该怎么办??

解决方案 »

  1.   

    1,执行select user from dual;查询一下你当前登录用户;
    2,select owner,table_name from dba_tables dt where dt.table_name = 'STUDENT';检查一下创建student的用户是谁?
      

  2.   

    另一种办法:在创建student表的时候就指定表空间tablespace1
      

  3.   


    上面说错了,应该是你当前的用户与创建的表student不在同一表空间造成的
      

  4.   

    你创建的表的时候是用该用户创建的?创建语句前有加用户?这样的形式CREATE TABLE SCOTT.STUDENT....
    你登入的以表的OWNER身份登入的?
      

  5.   

    你的student是建在你建的用户下吗?你是以你所建的用户登录(log on)的吗?
      

  6.   

    接触oracle不久,对表空间理解不够透,进来学习,关注此贴
      

  7.   

    可能3楼是对的,我的用户建的时候,没有指定default tablespace,我把用户删了,重新建了一个,指定了空间,就好了