DB2使用LIMIT和OFFSET

我正在开发Java Web服务,当从IBM中型机(AS400)上的DB2数据库中获取大数据集时,允许分页。

例如; 如果数据集中有10000条记录,我想一次以1000个块的形式获取它们。

我发现这篇文章解释说我可以使用LIMIT和OFFSET。但是我需要将DB2_COMPATIBILITY_VECTOR变量设置为MYS

现在,我一直在谷歌搜索,看到您可以使用db2set来设置此变量。但是我无法找出在哪里键入此命令?

我正在Windows机器上进行开发,并且已经安装了iSeries,并且可以通过iSeries 5250模拟器访问IBM Mid Range Machine。

我知道这一定是一个真正的菜鸟问题,但是如何将DB2_COMPATIBILITY_VECTOR变量更改为MYS

回答:

DB2 for Linux Unix Windows(LUW)和DB2 for iSeries是不同的产品。可能,DB2 for

iSeries不支持DB2_COMPATIBILITY_VECTOR。我无法在“ iSeries信息中心”中找到它。

可以使用FETCH FIRST 10 ROWS ONLY子句代替LIMIT。

代替LIMIT和OFFSET,您应该能够将ROW_NUMBER

olap函数与subselect一起使用。像这样的东西:

 SELECT emp.EMPNO, emp.SALARY

FROM (

SELECT EMPNO, SALARY,

ROW_NUMBER() OVER(ORDER BY SALARY DESC) as row_number

FROM EMPLOYEE

) emp

WHERE emp.row_number > 10

AND emp.row_number <= 20

以上是 DB2使用LIMIT和OFFSET 的全部内容, 来源链接: utcz.com/qa/419289.html

回到顶部