我在用pl/sql这个工具,我记得这里面有一个oracle自带的表,比如可以输入select*from
emp;来查询整个表,可是我在my objects 中看到table里面没有啊,我现在想找到这个表,来写sql语句查询东西,如果你会,请看看?

解决方案 »

  1.   

    oracle自带的表,你是指数据字典?
    select * from all_tables,如果当前用户有dba权限,可以查到所有的表了。
    输完all_后,你还可以看智能感知提示你其他的数据字典表,如用户表all_users,约束ALL_CONSTRAINTS等
      

  2.   


    就比如,你要找到EMP这张表,你需要使用SCOTT用户,以为这个表是在SCOTT这个用户下面.
    至于2楼说的ALL_TABLES这个数据字典,只有DBA权限才能查看的到
    如果一个不是DBA权限的用户,SELECT * FROM USER_TABLES;
      

  3.   

    1:用scott用户登录,可能要先解锁用户
    2:select * from scott.emp; 用sys用户访问
      

  4.   

    如果你用scott用户登录的,并且确定该emp表没有被删掉的话,是可以看到的。
      

  5.   

    select * from dba_objects where owner='SCOTT' and object_name='EMP'
    你查询不到要么是没有权限,要么是你安装数据库时没有选择安装示例,就是没有scott、hr等等练习的用户,最后看是不是大小写的问题
      

  6.   

    嗯嗯,我用scott用户看到了。谢谢
      

  7.   

    还是从USER_TABLES里看是最佳的
      

  8.   

    你的scott用户解锁了没呀,没有先解锁后就有了!
      

  9.   

    你改为all objects,是有的。如下图所示
      

  10.   

    我想问一下,我要在emp中查询:年薪大于40000或有佣金的用户,这个sql语句该怎么写呢?我是这么写的. select ename from emp where sal*12+nvl(comm,0)*12>40000 or comm is null;
      

  11.   

    用DBA身份进去   然后select * from scott.emp