我有一个内存数据库,里面有5个元素。它看起来是这样的:
(1, '1542'),
(2, '9999'),
(3, '456'),
(4, '456'),
(5, '21568');
使用持久性api的查询对象,我正在构造以下查询:
SELECT c FROM table c WHERE c.secondParam = :secondParam ORDER BY c.id asc AND rownum <= 2;
我得到了预期的结果:
+----+-----------------+
| id | secondParam |
+----+-----------------+
| 3 | 456 |
| 4 | 456 |
+----+-----------------+
但是,运行以下查询(在我尝试测试的遗留代码中):
SELECT c FROM table c WHERE c.secondParam = :secondParam AND rownum <= 2 ORDER BY c.id asc;
根本没有结果。
在数据库管理器(即dbeaver)中运行第一个查询甚至会出现错误:
SQL Error [933] [42000]: ORA-00933: Sql command does not end correctly
第二个在dbeaver中运行良好,但在内存测试中不起作用。
javax是否对参数本身重新排序以使其有效?从技术上讲,这两个查询有什么区别?是否有任何深入的酿酒厂,这个api是为了优先考虑的行动?
谢谢您!
暂无答案!
目前还没有任何答案,快来回答吧!