Oracle 使用前缀为查询中的所有列别名

Oracle 使用前缀为查询中的所有列别名,oracle,select,jdbc,alias,Oracle,Select,Jdbc,Alias,可以在select?中使用前缀为所有列别名? 我在Oracle数据库中有一组表需要连接在一起,其中大多数表都有相同的列名。我想要点像这样的 select MAGIC_ADD_PREFIX("PREFIX", *) from TABLE 结果是 +---------+----------+----------+ |PREFIX_ID|PREFIX_FOO|PREFIX_BAR| +---------+----------+----------+ |... | |

可以在select?中使用前缀为所有列别名? 我在Oracle数据库中有一组表需要连接在一起,其中大多数表都有相同的列名。我想要点像这样的

select MAGIC_ADD_PREFIX("PREFIX", *) from TABLE
结果是

+---------+----------+----------+
|PREFIX_ID|PREFIX_FOO|PREFIX_BAR|
+---------+----------+----------+
|...      |          |          |
我唯一能想到的就是像这样的傻瓜

select ID PREFIX_ID, FOO PREFIX_FOO, BAR PREFIX_BAR from TABLE
但它非常丑陋,而且容易出错

==进一步解释====

问题在于

select TABLE.*,...
我使用java+jdbc驱动程序来检索列,而
java.sql.ResultSet
方法(
ResultSet.getInt(“COLUMNNAME”)
.getString(“COLUMNNAME”)
…)不支持语法“TABLENAME.COLUMNNAME”

如果我这样做(简化,无错误检查…)

我得到了一个
SQLException
,其中包含无效的列名作为消息

您可以这样做

select a.*, b.* from table_a a, table_b b where.....
或者可以在基表上创建视图,如

   create view a_vw as select a.col1 a_col1, a.col2 a_col2...

通过从用户选项卡列中选择列名,您可以非常轻松地生成用于创建列的SQL不创建前缀。此外,创建视图与在“选择”对话框中添加别名一样容易出错。
   create view a_vw as select a.col1 a_col1, a.col2 a_col2...