在一个查询中获取COLUMN_NAME和TABLESPACE_NAME

时间:2016-02-19 03:18:32

标签: java oracle plsql

在oracle中是否有任何视图,我可以同时获取COLUMN_NAME和TABLESPACE_NAME 在一个查询中:

String selectSQL = "SELECT * FROM USER_TABLES WHERE table_name = '"+table+"' order by COLUMN_ID" ;
    try 
    {
        con = DBConne.getConnection();
        preparedStatement = con.prepareStatement(selectSQL);
        ResultSet rs = preparedStatement.executeQuery();
        //Tablespace = rs.getString("tablespace_name");
          while (rs.next()) {
                ClumnName.add(rs.getString("COLUMN_NAME"));
                ClumnType.add(rs.getString("DATA_TYPE"));
                ClumnType.add(rs.getString("DATA_LENGTH"));
                Tablespace = rs.getString("tablespace_name");

            }
    }catch{}    

错误是:“列名无效”
我怎么能这样做!

2 个答案:

答案 0 :(得分:2)

试试这个..

select a.TABLESPACE_NAME, b.TABLE_NAME, b.COLUMN_NAME from 
ALL_ALL_TABLES a, ALL_TAB_COLUMNS b
where a.TABLE_NAME=b.TABLE_NAME;

TABLESPACE_NAME - >>包含表的表空间的名称; null用于分区,临时和索引组织表。

答案 1 :(得分:0)

使用此查询

SELECT * FROM USER_TABLES A,USER_TAB_COLUMNS B WHERE A.TABLE_NAME = B.TABLE_NAME