можно ли псевдонимы для всех столбцов с префиксом, в 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.COLUMNAME".
если я это сделаю (упрощенно, без ошибок ...)
ResultSet rs = mkResultSet("select * from table_a, table_b");
rs.next();
System.out.println(rs.getInt("table_a.id"));
Я получаю SQLException
с недопустимым именем столбца в качестве сообщения