Dans Oracle, interrogez généralement comme ceci pour la pagination.Comment faire une pagination dans Sybase sans faire de table temporaire? (problème oracle rownum)
SELECT * FROM (SELECT *, rownum rid FROM TABLEA WHERE rownum <= #pageend#)
WHERE rid > #pagestart#
Cependant, il n'existe aucune fonction "rownum" dans le SGBD Sybase.
Comment faire cette requête exactement de la même manière dans Sybase?
J'ai trouvé certains moyens.
utilisation "rowcount"
set rowcount 10
select * from TABLEA
identité d'utilisation (marque table temporaire)
SELECT *, ROWNUM = IDENTITE (8) INTO #TEMP FROM TABLEA
SELECT * À PARTIR DE #TEMP WHER E ROWNUM < # pageend # ET ROWNUM> = # pageStart #
DROP TABLE #TEMP
ce ne sont pas ce que je veux. Rowcount est défini au niveau de la session et je ne veux pas créer de table temporaire.
Est-ce une bonne idée? Comment puis-je savoir que la colonne id commence à 1? Et n'a pas de trous dedans? Je pense que ce n'est pas une réponse. –