获取Oracle表的列名、数据类型、大小和注释

Goi*_*Way 2 sql oracle database-metadata sqldatatypes tablecolumn

如何获取表的列名、数据类型、大小和注释?

我试过

SELECT all_tab.column_name, all_tab.data_type, all_tab.data_length, col_com.COMMENTS 
    FROM all_tab_columns all_tab
        JOIN user_col_comments col_com ON all_tab.TABLE_NAME = col_com.TABLE_NAME
    WHERE all_tab.TABLE_NAME='MY_TABLE'
Run Code Online (Sandbox Code Playgroud)

但它没有用。

use*_*900 5

您需要添加列名连接:

SELECT all_tab.column_name,
       all_tab.data_type,
       all_tab.data_length,
       (SELECT COMMENTS
          FROM user_col_comments t
         where t.TABLE_NAME = all_tab.TABLE_NAME
           and t.COLUMN_NAME = all_tab.column_name)
  FROM all_tab_columns all_tab
 WHERE all_tab.TABLE_NAME = 'MY_TABLE'
Run Code Online (Sandbox Code Playgroud)