select tname,cname,coltype,width from sys.col t
where tname=upper('tbname');

解决方案 »

  1.   

    可以这样写:
    SELECT COLUMN_NAME
    from ALL_TAB_COLUMNS 
    WHERE OWNER='TEST' AND 
    TABLE_NAME='T_TEST'
      

  2.   

    SQL> select tname,cname,coltype,width from sys.col
      2  where tname=upper('emp');TNAME      CNAME
    ---------- ----------
    COLTYPE
    ---------------------------------------------------------------
     WIDTH
    ------
    EMP        EMPNO
    NUMBER
        22EMP        ENAME
    VARCHAR2
        10TNAME      CNAME
    ---------- ----------
    COLTYPE
    ---------------------------------------------------------------
     WIDTH
    ------EMP        JOB
    VARCHAR2
         9EMP        MGR
    NUMBERTNAME      CNAME
    ---------- ----------
    COLTYPE
    ---------------------------------------------------------------
     WIDTH
    ------
        22EMP        HIREDATE
    DATE
         7EMP        SALTNAME      CNAME
    ---------- ----------
    COLTYPE
    ---------------------------------------------------------------
     WIDTH
    ------
    NUMBER
        22EMP        COMM
    NUMBER
        22
    TNAME      CNAME
    ---------- ----------
    COLTYPE
    ---------------------------------------------------------------
     WIDTH
    ------
    EMP        DEPTNO
    NUMBER
        22
    已选择8行。SQL>
      

  3.   

    根据表名得到表中的字段个数和名字
    不就是  desc 表名    吗?
      

  4.   

    SELECT COLUMN_NAME,TABLE_NAME FROM USER_COL_COMMENTS 
    WHERE TABLE_NAME=UPPER(tab_name)