Maison > Article > base de données > Comment paginer dans Oracle
Oracle est un système de gestion de base de données largement utilisé qui prend entièrement en charge le standard du langage SQL. Dans de nombreux scénarios, nous devons afficher les résultats des requêtes dans des pages pour faciliter la gestion et la visualisation des données. Ensuite, cet article présentera comment Oracle effectue les opérations de pagination.
1. Utilisez ROWNUM pour la pagination
Oracle fournit une fonction ROWNUM, qui peut identifier chaque ligne de l'ensemble de résultats renvoyé comme une valeur unique, le numéro de la valeur à partir de 1 et augmentant en séquence. Cette fonction a les caractéristiques suivantes :
Ensuite, nous pouvons utiliser la fonction ROWNUM pour effectuer des opérations de pagination de données. Les étapes spécifiques d'implémentation sont les suivantes :
Par exemple :
SELECT FROM (SELECT A., ROWNUM RN FROM (SELECT * FROM user_data ORDER BY user_id) A WHERE ROWNUM <= 20) WHERE RN >= 1;
Dans l'instruction SQL ci-dessus, une instruction de sous-requête est utilisée pour interroger toutes les données de la table user_data et trier par le champ user_id. Enfin, utilisez la fonction ROWNUM basée sur le jeu de résultats de la requête et limitez le nombre de lignes renvoyées dans le jeu de résultats de la requête à 20 lignes. Le résultat de l'utilisation de l'instruction SQL ci-dessus correspond aux enregistrements de données de la ligne 1 à la ligne 20.
2. Utilisez OFFSET...FETCH pour la pagination
En réponse aux limitations de la méthode de pagination ROWNUM, Oracle a fourni une nouvelle méthode de pagination, OFFSET, à partir de la version 12c Syntaxe FETCH entre parenthèses. Par rapport à la fonction ROWNUM, les caractéristiques de la syntaxe OFFSET FETCH sont :
La méthode d'utilisation spécifique est la suivante :
SELECT * FROM user_data ORDER BY user_id OFFSET 0 ROWS FETCH NEXT 20 ROWS UNIQUEMENT ;
#🎜 🎜# Dans l'instruction SQL ci-dessus, la syntaxe OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY indique que le décalage spécifié est la ligne 0 et que 20 lignes d'enregistrements de données sont obtenues. Résumé : Oracle propose deux méthodes de requête de données de pagination : la fonction ROWNUM et la syntaxe OFFSET FETCH. La fonction ROWNUM convient aux situations où la quantité de données est faible et où l'opération de pagination ne doit être effectuée qu'une seule fois. La syntaxe OFFSET FETCH convient aux situations où la quantité de données est importante et où plusieurs paginations doivent être interrogées en continu.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!