我知道一个表的名字,但是不知道它所在的表空间名字,请哪位高手指点一下。谢谢!

解决方案 »

  1.   

    select t.TABLESPACE_NAME, t.TABLE_NAME 
    from user_tables t where t.TABLE_NAME = 'table_name'
      

  2.   

    不知道楼上的大哥试过没有?我按照你说的做了,说‘未选定行’,不出现结果。
    SQL>select t.tablespace_name,t.table_name from user_tables t where t.table_name='clinic_master';
    未选定行以上是运行结果。
      

  3.   

    SQL> select t.TABLESPACE_NAME, t.TABLE_NAME 
      2  from user_tables t where t.TABLE_NAME = 'ERIC_TMP'
      3  /TABLESPACE_NAME                TABLE_NAME
    ------------------------------ ------------------------------
    APPLSYSD                       ERIC_TMPSQL> 表明必须全部大写。要不用这个,加上upperselect t.TABLESPACE_NAME, t.TABLE_NAME 
    from user_tables t 
    where t.TABLE_NAME = upper('table_name')SQL> select t.TABLESPACE_NAME, t.TABLE_NAME 
      2  from user_tables t 
      3  where t.TABLE_NAME = upper('eric_tmp')
      4  /TABLESPACE_NAME                TABLE_NAME
    ------------------------------ ------------------------------
    APPLSYSD                       ERIC_TMPSQL> 
      

  4.   

    还是不行,是不是和登陆用户的权限有关阿 ?
    SQL>conn /as sysdba
    已连接。
    SQL>conn system/manager
    已连接。
    SQL> select t.TABLESPACE_NAME, t.TABLE_NAME 
      from user_tables t where t.TABLE_NAME = 'CLINIC_MASTER';未选定行。
      

  5.   

    select t.TABLESPACE_NAME, t.TABLE_NAME 
      from all_tables t where t.TABLE_NAME = 'CLINIC_MASTER';用这个吧。
      

  6.   

    谢谢大侠!这个能用!能留个qq号码什么的联系方式吗?希望和你多请教一些oracle方面的问题。
      

  7.   


    这种方法是涉及到了‘数据字典’的问题
    相关表的属性,用户属性等都可以通过数据字典中来查询明白吗说明如下
      命名说明:
      Oracle数据字典中,对象名称多数以"USER.","ALL.","DBA."为前缀"USER."视图中记录通常记录执行查询的帐户所拥有的对象的信息,"ALL."视图中记录包括"USER"记录和授权至PUBLIC或用户的对象的信息,"DBA."视图包含所有数据库对象,而不管其所有者。
      使用举例:
      select * from dba_data_files
      查询表空间的信息(当前用户必须拥有DBA角色)。
      select owner , object_name ,object_type from all_objects
      查询某一用户下的所有表、过程、函数等信息。
      

  8.   

    wjh_7_7(学习再教育) 说的不错
    'CLINIC_MASTER'这个表不是属于用户t的,只是用户t可以访问表'CLINIC_MASTER'
    所以用user_tables查不到.