La clause LIMIT de MySQL est très pratique pour tout ce qui concerne la pagination... Seul petit problème, elle n'existe pas sous Oracle.
Voici donc un squelette d'une requête qui vous permettra d'avoir le même comportement :
SELECT *
FROM ( SELECT /*+ FIRST_ROWS(50) */
a.*, ROWNUM rnum
FROM (SELECT ROWNUM, user_id FROM user) a
WHERE ROWNUM <= 31050)
WHERE rnum >= 31000
Cette requête vous permet de sélectionner uniquement les "user_id" des enregistrements 31000 à 31050 de la table user...
Attention le commentaire est apparemment utile à Oracle pour améliorer le temps d'exécution...
lundi 3 mars 2008
Inscription à :
Publier les commentaires (Atom)
2 commentaires:
"Attention le commentaire est apparemment utile à Oracle pour améliorer le temps d'exécution..."
Effectivement, c'est ce qu'on appelle les "hints" dans Oracle, des directives d'optimisation d'exécution de requêtes (à utiliser avec précaution) qui n'auront bientôt plus de secret pour toi avec ta certif Oracle Developer ;)
Pef
Merci mon petit pef pour cette précision... J'attends avec impatience ton nouveau blog pour qu'on puisse partager ce genre de choses...
Enregistrer un commentaire