请问oracle中有没有查询表的列名的语句?谢谢各位。

解决方案 »

  1.   

    select * from all_table_columns where tablename = 'TABLENAME';
      

  2.   

    为什么我用这个在pl/sql中报错啊?说不合法。
    我的例句是这样的:desc "country.city"
      

  3.   

    desc是SQL*PLUS里的命令吧你用#2楼的命令试试
      

  4.   

    select * from all_table_columns where tablename = "BadDut.dutbin";报错:
    说表或者视图不存在
      

  5.   

    不对啊。我用双引号里括起来的表名是正确的啊。 all_table_columns 这里是不是要改下?
      

  6.   

    select * from all_table_columns where tablename = BadDut."dutbin"; 
    用户名要写到双引号的外面
    dutbin可能要改成大写
    如果建表的时候没有用双引号,这里的双引号也可以去掉
      

  7.   

    呵呵 好像确实是有点错  你查这个视图ALL_TAB_COLUMNS
      

  8.   

    看错了。
    select * from all_tab_cols where upper(table_name) = 'DUTBIN' and owner='BADDUT'; 
      

  9.   

    “BadDut.dutbin”就是我的表名,我命名的时候就是这么设的。
      

  10.   

    SELECT USER_TAB_COLS.TABLE_NAME as 表名,
        USER_TAB_COLS.COLUMN_NAME as 列名 , 
    USER_TAB_COLS.DATA_TYPE as 数据类型,
        USER_TAB_COLS.DATA_LENGTH as 长度,
        USER_TAB_COLS.NULLABLE as 是否为空,
    USER_TAB_COLS.COLUMN_ID as 列序号,
        user_col_comments.comments as 备注 
    FROM USER_TAB_COLS 
    inner join user_col_comments on
     user_col_comments.TABLE_NAME=USER_TAB_COLS.TABLE_NAME 
    and user_col_comments.COLUMN_NAME=USER_TAB_COLS.COLUMN_NAME 
    where  USER_TAB_COLS.Table_Name='A' 
      

  11.   

    ORACLE会自动将你的表名变为大写,查询的时候写大写的表名,就可以查到
      

  12.   

    select * from all_tab_cols where table_name = 'BadDut.dutbin';
      

  13.   

    select column_name from all_tab_cols where table_name = 'DUTBIN' and owner='BADDUT';
      

  14.   

    成功了。
    select * from all_tab_cols where table_name = 'BadDut.dutbin';可行
      

  15.   

    ……好吧
    select column_name from all_tab_cols where table_name = 'BADDUT.DUTBIN' ;
      

  16.   

    select * from user_tab_columns where table_name='TABLE_NAME';

    select * from all_tab_columns  where table_name='TABLE_NAME';