私は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'ではコストがかからず、ゼロ行(DBMSが直ちに検出する)を検索するので、単なる列情報しか得られないということです。 –