Pessoal,
dentro do meu programa preciso saber quais são os nomes das colunas de uma tabela e qual é o tipo de cada coluna.
Eu fiz algo assim:
stm = con.createStatement();
ResultSet rs = stm.executeQuery("select * from minhaTabela");
rs = stm.executeQuery(SQL);
ResultSetMetaData rsmd = rs.getMetaData();
int numColumns = rsmd.getColumnCount() + 1;
for(int i = 1; i < numColumns; i++){
System.out.println(rsmd.getColumnName(i));
System.out.println(rsmd.getColumnTypeName(i));
System.out.println(rsmd.getColumnType(i));
System.out.println(rsmd.getPrecision(i));
System.out.println(rsmd.getScale(i));
}
stm.close();
rs.close();
E, com isso, eu consigo capturar todas as informações que eu preciso sobre uma tabela. O único problema é que para isso eu tenho que carregar toda a tabela em memória e isso não é muito eficiente. Tentei em vez de fazer um select * from minhaTabela usar o desc minhaTabela, mas ele não reconhece como uma instrução sql válida.
Alguém sabe qual é a melhor forma de eu obter estas informações sem ter que carregar toda a tabela em memória?
Eu faço isso para todas as tabelas de um banco e elas são enormes…
Obrigada!