你可以从系统视图中取得
   dba_columns或者cols
根据表名!

解决方案 »

  1.   

    我试过了,楼上说的都不行,我需要标准的Sql语句,desc之类的就算了吧
    比如我有一个表cd_volume
    用select * from cols where table_name='cd_volume'是查不出来的,该如何做?
      

  2.   

    你的列名是要用大写的,加一个函数
    select * from cols where table_name=upper('cd_volume')就可以了,所有的列名和表名在系统视图都是以大写存放的!
      

  3.   

    谢谢你的回答,但是我在PL/Sql developer里运行此句仍然没有结果,不知道是什么原因?
      

  4.   

    没有结果可能是返回结果是0条记录,检查你执行select * from cols where table_name=upper('cd_volume')语句的user是否是cd_volume这个表的owner。
      

  5.   

    那你用dba_tab_columns来试一下吧,如果存在这个表的话,可能不是属于当前用户的缘故。
    select * from dba_tab_columns where table_name=upper('cd_volume');
      

  6.   

    select name  from sys.col$ where obj#=(
    select object_id from all_objects where object_type='TABLE' and object_name='CD_VOLUME');
      

  7.   

    注意大小写问题 'CD_VOLUME' 不等于 'cd_volume' 在ORACLE中 除非我们指明字段小写 否则默认都是大写
      

  8.   

    select a.table_name,b.COLUMN_NAME from user_all_tables a,user_tab_columns b
    where a.table_name=b.TABLE_NAME and a.table_name='tablename'
      

  9.   

    select * from user_tab_columns where table_name=upper('cd_volumn');
    dba_tab_columns一般用户是不给看的
      

  10.   

    到all_tab_columns下面看看把!
    可能是系统用户下的表了!