Je me demande si quelqu'un a une solution à la condition suivante. J'ai une procédure stockée qui renvoie un ensemble de résultats de par exemple 1000 lignes. Maintenant, je dois limiter cela à 100 lignes à la fois. Je vais donc passer un début et de la valeur d'index fin et je ne veux que les enregistrements entre l'index de départ rowcount et l'indice final rowcountSybase IQ Pagination
Ainsi, par exemple ma signature d'appel de procédure stockée ressemble à ceci: -
stp_mystoredproc(startIndex INTEGER, endIndex INTEGER)
donc, si je mis startIndex = 100
et endIndex = 200
alors je veux la procédure stockée pour renvoyer les enregistrements dans les lignes 100 à 200 de la remise à zéro totale ensemble de 1000.
Ma première tentative est de mettre le jeu de résultats dans une table temporaire avec un colonne d'identité puis sélectionnez en fonction de l'identité de la gamme dont j'ai besoin, mais c'est un peu lent. Je sais qu'Oracle prend en charge la pagination afin que vous puissiez parcourir votre ensemble de résultats. Quelqu'un sait si Sybase IQ (v12.6 ou v12.7) supporte quelque chose de similaire?
L'objectif final est de faire défiler l'intégralité du jeu de résultats (1000 enregistrements), mais dans des pages de 100 lignes à la fois.
Après un peu de recherche, je trouve Sybase IQ a deux caractéristiques qui aident à la pagination. La fonction NUMBER (*) vous donne un nombre d'enregistrements en cours d'exécution dans le jeu de résultats et ROWID fournit l'identifiant de ligne de la table. –