gpt4 book ai didi

sql - 限制从 oracle 和 postgres 中的查询返回的行数

转载 作者:行者123 更新时间:2023-11-29 14:06:18 25 4
gpt4 key购买 nike

我正在使用 JPA Criteria API,我有一个要求,我必须使用 UNION 子句,并且由于 JPA 不支持集合操作,我必须创建一个 native sql 查询.

在此查询中,我必须使用 JPA Criteria API 限制返回的行数,这是按以下方式完成的:

typedQuery.setFirstResult(gridParams.getStartRow());
typedQuery.setMaxResults(gridParams.getEndRow() - Math.max(0, gridParams.getStartRow()));

我们的应用程序同时在 Oracle 12c 和 Postgres 中运行,所以我面临的问题是 Oracle 和 Postgres 使用不同的语法来限制结果。

我该如何解决这个问题?

最佳答案

两个数据库系统都支持 ANSI 标准fetch first:

select *
from some_table
order by something
OFFSET 10 ROWS
FETCH FIRST 10 ROWS ONLY;

Oracle 从 12.1 开始支持它

关于sql - 限制从 oracle 和 postgres 中的查询返回的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49628610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com