0
私のJavaプログラムにCSVファイルを読み込んでおり、そのすべてのレコードにSQLクエリがあります。私はこの(選択)SQLクエリを解析して、これらのクエリで言及されているテーブル名とカラム名を探したいと思います。SQLクエリからテーブル名とカラム名を取得するString
年齢を選択し、従業員
から名前結果:
----テーブル:[従業員]
----列:[年齢、名前]
注:クエリを実行したくない場合は、ResultSetMetaDataを使用しています。
最も一般的な形式では、これは悪夢です。 PIVOT句またはMATCH_RECOGNIZE句で作成された列の選択を想像してみましょう...列を含む式(分析関数、集計、col1 + col2)...これは何のために必要ですか? – mathguy
JSqlParserを試すことができます:https://github.com/JSQLParser/JSqlParser – diufanman
利用可能なoracle sqlパーサー、tokenize入力を使用して、パーサライブラリを使用して目的の結果を取得する必要があります。このスレッドがあなたに役立つかどうかを確認するhttp://stackoverflow.com/questions/5735791/parser-for-oracle-sql –