Con un codigo muy parecido a este:
Código:
String tablaNombre = "tClientes";
DatabaseMetaData DBMetadatos = DBConnection.getMetaData();
ResultSet DBUniques = DBMetadatos.getIndexInfo(null, null, tablaNombre, true, true);
while(DBUniques.next())
{
String indiceColumna = DBUniques.getString("COLUMN_NAME");
String indiceTipo = DBUniques.getString("TYPE");
System.out.println("Columna: " + indiceColumna +" | Indice: "+indiceTipo);
}
los resultados que me tira son:
Citar
Columna: null | Indice: 0
Columna: id_cliente | Indice: 1
Columna: id_cliente | Indice: 1
Los tipos de indices que devuelve "getIndexInfo" dependiendo del numero pueden ser:
Citar
tableIndexStatistic (0)
tableIndexClustered (1)
tableIndexHashed (2)
tableIndexOther (3)
tableIndexClustered (1)
tableIndexHashed (2)
tableIndexOther (3)
segun la documentacion de Microsoft--> http://technet.microsoft.com/en-us/library/ms378646%28v=sql.110%29.aspx
Sé lo que son los tableIndexClustered y los tableIndexHashed, pero la verdad no se a que se refiere con tableIndexStatistic ni para que sirve. ¿alguien sabe algo al respecto y me puede dar una mano?
PD: si conocen otra forma mejor para saber que columnas son Unique usando Java diganme por favor.