我的任务是重构现有的存储过程,以便对结果进行分页。SQL 服务器是 SQL 2000,所以我不能使用 ROW_NUMBER 分页方法。存储过程已经相当复杂,在执行 sp_executesql 之前一起构建大型 sql 语句的块,并且有各种可用的排序选项。
谷歌的第一个结果似乎是一个好方法,但我认为这个例子是错误的,因为第二次排序需要反转,并且开始小于页面长度的情况会被打破。该页面上的第二个示例似乎也是一个好方法,但 SP 采用的是 pageNumber 而不是开始记录。整个临时表的事情似乎会消耗性能。
我正在沿着这条道路取得进展,但它似乎缓慢而令人困惑,我必须在排序顺序上执行相当多的 REPLACE 方法才能让它正确出现。
我还缺少其他更简单的技术吗?