programing

별칭 접두사를 사용하여 쿼리의 모든 열

sourcejob 2023. 9. 1. 20:50
반응형

별칭 접두사를 사용하여 쿼리의 모든 열

선택 시 모든 열에 접두사를 사용하여 별칭을 지정할 수 있습니까?함께 가입해야 하는 Oracle db에 테이블 그룹이 있으며 대부분의 테이블은 동일한 열 이름을 가집니다.저는 다음과 같은 것을 원합니다.

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")...)는 "TABLENE" 구문을 지원하지 않습니다.컬럼 이름".

실행하면(간단하게, 오류 확인 없음...)

ResultSet rs = mkResultSet("select * from table_a, table_b");
rs.next();
System.out.println(rs.getInt("table_a.id"));

나는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...

user_tab_columns에서 열 이름을 선택하면 a_vw를 생성하기 위한 SQL을 쉽게 생성할 수 있습니다.

언급URL : https://stackoverflow.com/questions/2501017/alias-all-column-in-a-query-with-a-prefix

반응형