gpt4 book ai didi

java - 如何从 Oracle 表中获取所有列的名称

转载 作者:行者123 更新时间:2023-11-29 10:05:55 25 4
gpt4 key购买 nike

如何使用 Java 从 Oracle 表中获取所有列的名称?有没有办法从 DatabaseMetaData 对象中获取它们?

DatabaseMetaData myDatabaseMetaData = myConnection.getMetaData();
...

我知道我可以使用 select 语句获取它们:

Select COLUMN_NAME from user_tab_columns where table_name='MYTABLE'

如果可以从 DatabaseMetaData 对象中获取它们,那么这两种方法有什么区别?

编辑:发布工作代码(感谢您的回答)

public ArrayList<String> getAllFields(String tableName) {
ArrayList<String> allFields = new ArrayList<String>();
try {
DatabaseMetaData myDatabaseMetaData = myConnection.getMetaData();
ResultSet columnsResultSet = myDatabaseMetaData.getColumns(null, null, tableName, null);
while (columnsResultSet.next()) { allFields.add(columnsResultSet.getString("COLUMN_NAME")); }
} catch (SQLException ex) {
Exceptions.printStackTrace(ex);
}
return allFields;
}

最佳答案

您正在寻找DatabaseMetaData.getColumns()

好吧,您的 SQL 和 JDBC API 之间的区别在于,API 调用应该适用于所有 DBMS,而 SQL 仅适用于 Oracle。

关于java - 如何从 Oracle 表中获取所有列的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8124086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com