SQL 쿼리가 있습니다. 너무 많은 BO가 관련되어 있기 때문에 1000 개가 넘는 열이 포함 된 매우 큰 쿼리가 생성됩니다. 그래서 난 손에 전에 열 개수를 찾을 수있는 몇 가지 방법을 필요로하고 1000 열 오류를 처리하는 몇 가지 논리를 적용합니다.쿼리를 실행하기 전에 SQL에서 열 수를 얻는 방법? 즉 ResultSetMetaData 이외의 방법
열 개수를 얻기 위해 쿼리를 구문 분석하면 도움이 될 수 있습니다. 그러나 그것을 구현하는 방법을 알지 못한다.
참고 : 이미 아래 코드를 시도했지만 결과가 나옵니다. 그러나 쿼리를 실행하고 싶지 않습니다. 비용이 많이 듭니다.
PreparedStatement pstmt;
try {
pstmt = getConnection().prepareStatement(sql);
ResultSetMetaData meta = pstmt.getMetaData();
System.out.println(meta.getColumnCount());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
'LIMIT'을 사용해 보셨습니까? – ThomasEdwin
'LIMIT'은 열이 아닌 행입니다. @ThomasEdwin – user3662708
ThomasEdwin의 생각은'where rownum = 0'은 아무런 값이 들지 않는다는 것입니다. 왜냐하면 당신이 0 행을 검색하기 때문에 (DBMS가 즉시 감지합니다), 당신은 단순한 열 정보 만 얻습니다. –