我新建表空间   space01
并新建用户us 指定表空间space01
然后倒入一个dmp文件用us登录 plsql
查询的时候 select * from table01  报错ORA-00942: table or view does not exist 但是我这样查询就没问题 select * from space01.table01请高手指点 问题出在哪里  查询的时候必须加上表空间名

解决方案 »

  1.   

    space01是表空间还是一个schema?
      

  2.   

    其实我的用户名和表空间名字 是一样的  也就  表空间 和登录用户名都是space01
    我也不知道是不是schema刚学习呢 还请多指教   
      

  3.   

    你是在space01 schema下建的表,表的属主是space01用户啊,所以用其他用户登录必须指定schema.
      

  4.   

    但是我用space01登录也要  这样写 select * from space01.table01  才不报错
      

  5.   

    用户名abc,有默认的表空间abc,其实abc就是一个方案了,访问这下面的表就是abc.tablename个人体会,是不是对,请高人指正
      

  6.   

    为什么  要加上space01
    select * from space01.table01 我导出表的时候   也是使用space01用户导出  生成的sql文件是这样
    ....
    create table space01.table01  {...}...
    create table space01.table02  {...}...
    ......
    表导出完后
    然后导出一个dmp文件接着换了一台机器  我新建表空间space01  并且给用户space01指定了表空间space01
    使用导出的sql文件生成表
    使用space01  用户导入dmp文件
    写sql的时候  一定要这样写才不报错 select * from space01.table01 
    请高手指教