嗨,有可能从索引中解析真实的列名吗?我用:
java.sql.DatabaseMetaData.getIndexInfo(String, String, String, boolean, boolean)但有时我会这样:
[table=LOG_EMAIL, name=LOG_EMAIL_USERS_ID, columns=[SYS_NC00011$ A], unique=false]如何解析: SYS_NC00011$
我使用ojdbc6-11.2.0.4
发布于 2015-02-18 11:52:22
该索引是一个基于函数的(表达式)索引。
由该名称引用的表达式存储在系统视图user_ind_expressions中。
select column_expression
from user_ind_expressions
where index_name = 'LOG_EMAIL_USERS_ID'
and column_position = 1;如果索引中有多个表达式,则user_ind_expressions中有多行,column_position值不同(第一个表达式为1,第二个表达式为2,依此类推)。名称SYS_NC00011$不会出现在该视图中。
发布于 2015-02-18 11:50:02
我会用ResultSetMetadata -
ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
System.out.println(rsMetaData.getColumnName(i));
}https://stackoverflow.com/questions/28582831
复制相似问题