タイトルに示されているように、私のクエリから1行を選択する必要があります。 ROWNUM
は、ROWNUM()
の機能があるため、HSQLDBでは動作しません。さらに、接続URL設定とschema-hsqldb.sql
の両方でORAの方言を設定しても機能しません(そうしてはいけませんが、その理由は分かりません)。問合せはOracleで完全に機能しています。Oracle Dialectを使用してHSQLDBから1行だけを選択してください
提案がありますか?大変ありがとうございます!
タイトルに示されているように、私のクエリから1行を選択する必要があります。 ROWNUM
は、ROWNUM()
の機能があるため、HSQLDBでは動作しません。さらに、接続URL設定とschema-hsqldb.sql
の両方でORAの方言を設定しても機能しません(そうしてはいけませんが、その理由は分かりません)。問合せはOracleで完全に機能しています。Oracle Dialectを使用してHSQLDBから1行だけを選択してください
提案がありますか?大変ありがとうございます!
。私は次のカスタム方言リゾルバを追加しました。今すぐ動作します。
単純なROWNUM
ではなく、ROWNUM()
を括弧なしで使用すると、エラーが発生します。 HSQLDBでの管理方法が不明です。
12cを使用しているので、ROWNUM
の代わりにFETCH..FIRST..ONLY
を使用できます。
select * from employees FETCH FIRST 1 ROWS ONLY;
は、下のバージョンでは、あなたは、少なくとも1 UNIQUE KEY
(必ずしも宣言制約はなく、ユニークな行を識別するために、カラムのセット)テーブルの上を持って、row_number()
使用することができます。検索、泣いて、私は私の場合には(私はかなり複雑なSQLを持っている)、それは柱である思考THIS_
とプレフィックスROWNUM
を休止することを発見した自殺の思考の約3日後
select b.<columns> FROM
(
select t.*, row_number() OVER (ORDER BY <unique_key_column_s) rn from yourtable t
) b WHERE b.rn = 1;
回答ありがとう!これで私を助けようとしている人がいるのを見てうれしいです:)しかし、 'ROWNUM'の問題は、アプリケーションの実行ではなく、テストで発生します。 'FETCH..FIRST..ONLY'も動作しません:' HsqlException:予期しないトークン:SELECT'。 id:c以外のユニークな列はありません –
rownum()でクエリを実行するとどうなりますか?例えば。 'select * from my_table where rownum()= 1' – kfinity
@kfinity助けてくれてありがとう! 'SQLSyntaxErrorException:ORA-00907:右括弧がない'エラー –