結果がページ付けされるように、既存のストアド プロシージャをリファクタリングするタスクが与えられました。SQL サーバーは SQL 2000 なので、ページネーションの ROW_NUMBER メソッドを使用できません。ストアド プロシージャはすでにかなり複雑で、sp_executesql を実行する前に大きな sql ステートメントのチャンクをまとめて作成し、さまざまな並べ替えオプションを利用できます。
Google からの最初の結果は良い方法のように思えますが、2 番目の並べ替えを逆にする必要があり、開始がページの長さよりも短い場合は失敗するという点で、この例は間違っていると思います。そのページの 2 番目の例も良い方法のようですが、SP は開始レコードではなく pageNumber を使用しています。そして、一時テーブル全体がパフォーマンスの低下になるようです。
私はこの道を進んでいますが、遅くて紛らわしいようです。正しい結果を得るには、並べ替え順序でかなりの数の REPLACE メソッドを実行する必要があります。
私が見逃している他の簡単なテクニックはありますか?