在 Oracle 中,通常像这样查询分页。
SELECT * FROM (SELECT *, rownum rid FROM TABLEA WHERE rownum <= #pageend#)
WHERE rid > #pagestart#
但是,Sybase DBMS 中没有“rownum”函数。
如何在 Sybase 中进行完全相同的查询?
我找到了一些方法。
使用“行数”
设置行数 10
从 TABLEA 中选择 *
使用身份(制作临时表)
从 TABLEA 中选择 *, ROWNUM=IDENTITY(8) 到 #TEMP
SELECT * FROM #TEMP WHERE ROWNUM < #pageend# AND ROWNUM >= #pagestart#
删除表#TEMP
这些不是我想要的。
行数设置在会话级别,我不想制作临时表。