我正在使用 ojdbc7.jar 从Java连接到oracle。对于带别名的查询,当我执行getColumnName()
的{{1}}和getColumnLabel()
时,都会返回别名。我想拥有原始列名。
答案 0 :(得分:0)
这是不可能的。如果编写的查询将列(或函数)作为其他名称别名,则当结果集传递到下一级时(另一个查询,如视图或JDBC / ODBC调用),系统具有的元数据关于该查询的只是别名。
查找原始名称的唯一方法是将正在使用的SQL追溯到其起源(例如,如果它正在调用视图,查找视图定义等)。
请考虑一个将列别名作为其他名称的视图(由于视图只是按需执行的存储SQL,因此实际上是您在做什么)。该列的视图定义将仅具有别名(实际上是以这种方式存储在dba_tab_columns中),而不是原始名称。如果不查看视图定义,就无法知道原始名称。