通过JDBC获取Database VIEW元数据

时间:2014-08-14 18:37:37

标签: sql database jdbc views

我想获取有关数据库视图的元数据信息。

我可以使用以下代码找到我的观点

DatabaseMetaData databaseMetaData = connection.getMetaData();
        String tableName = "";
        ResultSet rSet = databaseMetaData.getTables(null, databaseName, null, new String[] {TABLE, VIEW});
        while (rSet.next()) {
            tableName = rSet.getString(TABLE_NAME_COLUMN);
            if (rSet.getString(TABLE_TYPE_COLUMN).equals(TABLE)) {
                tableNames.add(tableName);
            } else if (rSet.getString(TABLE_TYPE_COLUMN).equals(VIEW)) {
                viewNames.add(tableName);
            }
        }

现在,当我有视图名称时,我想获取VIEW中的数据列列表。

我使用以下代码

ResultSet rSet = databaseMetaData.getColumns(null, databaseName, table, null);
        while (rSet.next()) {
            columnDefinitions.add(new ColumnDefinition(rSet.getString(COLUMN_NAME_COLUMN), getColumnClassName(rSet
                    .getInt(DATA_TYPE_COLUMN))));
        }

这里的关注点是此查询仅返回从中派生此VIEW的基本列的列表。假设我的基表有3列并且我创建了一个视图,如果该表有2个额外的列从3个基列中获取信息。

我想获取所有5列的名称和信息。这可能吗 ? 有没有其他方法可以做到这一点?

0 个答案:

没有答案