首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析JDBC Oracle索引列名

解析JDBC Oracle索引列名
EN

Stack Overflow用户
提问于 2015-02-18 11:44:49
回答 2查看 461关注 0票数 0

嗨,有可能从索引中解析真实的列名吗?我用:

代码语言:javascript
复制
java.sql.DatabaseMetaData.getIndexInfo(String, String, String, boolean, boolean)

但有时我会这样:

代码语言:javascript
复制
[table=LOG_EMAIL, name=LOG_EMAIL_USERS_ID, columns=[SYS_NC00011$ A], unique=false]

如何解析: SYS_NC00011$

我使用ojdbc6-11.2.0.4

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-18 11:52:22

该索引是一个基于函数的(表达式)索引。

由该名称引用的表达式存储在系统视图user_ind_expressions中。

代码语言:javascript
复制
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$不会出现在该视图中。

票数 2
EN

Stack Overflow用户

发布于 2015-02-18 11:50:02

我会用ResultSetMetadata -

代码语言:javascript
复制
ResultSetMetaData rsmd = rs.getMetaData();

for (int i = 1; i <= rsmd.getColumnCount(); i++) {
  System.out.println(rsMetaData.getColumnName(i));

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28582831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档