Oracleでは、通常、このようにページングをクエリします。
SELECT * FROM (SELECT *, rownum rid FROM TABLEA WHERE rownum <= #pageend#)
WHERE rid > #pagestart#
ただし、SybaseDBMSには「rownum」関数はありません。
そのクエリをSybaseでまったく同じようにするにはどうすればよいですか?
私はいくつかの方法を見つけました。
「行数」を使用する
行数10を設定
TABLEAから*を選択
IDを使用(一時テーブルを作成)
SELECT *、ROWNUM = IDENTITY(8)INTO #TEMP FROM TABLEA
SELECT * FROM #TEMP WHERE ROWNUM <#pageend#AND ROWNUM> =#pagestart#
ドロップテーブル#TEMP
これらは私が望むものではありません。
行数はセッションレベルで設定されており、一時テーブルを作成したくありません。