2017-06-05 9 views
1

私はJava 6とOracle DBとSpring 3.0 jdbcTemplateを使用してレガシー・システムで作業しています。java.sql.sqlException:予期しないトークン:FIRST_VALUE

私が実行しようとしているクエリは次のとおりです。

SELECT department_id, last_name, salary, FIRST_VALUE(last_name) 
    OVER (ORDER BY salary ASC ROWS UNBOUNDED PRECEDING) AS lowest_sal 
    FROM (SELECT * FROM employees WHERE department_id = 90 
    ORDER BY employee_id) 
    ORDER BY department_id, last_name, salary, lowest_sal; 

しかし、私は次のエラーを取得しています:

ます。java.sql.SQLException:予期しないトークン:文 でFIRST_VALUEを[DEPARTMENT_IDを選択して、姓、給与、FIRST_VALUE(姓) AS(昇給ASCローズアンボーダードプレシジョン)AS ...]

SQLデベロッパーで同じクエリを実行すると正常に実行されます。私は何が間違っているのか分かりません。

答えて

0

Java 6アプリケーションで実装されているクライアントのバージョンに問題があります.FIRST_VALUEやウィンドウ構成(OVER句)などの命令は、古いクライアントではサポートされていない可能性があります。 。

私は、Forms6i環境で使用しようとするとselectステートメント内の "not valid" CASE条件などの問題に遭遇しました。そのバージョンの組み込みクライアントはステートメントを解析できないため、私は11gのDBMSに接続しています。

このソリューションは、DBにストアドプロシージャを作成してデータを取得し、アプリから結果を実行して読み取ることができます。

関連する問題