> Tech > Au prochain numéro

Au prochain numéro

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

Les programmeurs iSeries veulent souvent numéroter arbitrairement les lignes renvoyées par une requête, defaçon à pouvoir les identifier facilement dans un jeu de résultats. C’est exactement ce qu’apporte l’expression Row_Number en V5R4. Jugez-en par le code de la

figure 4 et par ses résultats de la figure 5.

L’expression Row_Number ne compare pas les valeurs des colonnes, contrairement aux expressions de classement.

Row_Number se contente de générer le numéro de ligne suivant et de l’attribuer à la ligne suivante, d’après le critère d’ordre de la clause OVER. La clause ORDER BY est facultative. En son absence, les valeurs Row_Number seront attribuées d’après la manière dont DB2 UDB renvoie les résultats de l’instruction SELECT à l’application. Dans la figure 4, la clause ORDER BY peut être ôtée de l’expression Row_Number parce que l’instruction SELECT ordonne des résultats de la même manière.

Si votre application a besoin de redémarrer ce numéro de ligne arbitraire pour un sousensemble ou un sous-groupe de résultats, l’expression Row_Number a une clause de partition qui y pourvoit, comme on le voit dans la figure 6. Dans cette requête, le numéro de ligne est généré et attribué d’après le tri effectué sur le numéro de département et le nom de l’employé. Cependant, la présence de la clause PARTITION BY fait que le numéro de ligne redémarre à chaque fois qu’un nouveau département (c’est-à-dire, la colonne de partition)est rencontré dans le jeu de résultats.

Cette réinitialisation du numéro de ligne est très visible dans la sortie produite par cette requête (figure 7).

 

 

Téléchargez cette ressource

SIEM & PME : Comment construire la boîte noire de votre SI ?

SIEM & PME : Comment construire la boîte noire de votre SI ?

Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et accessible, pour anticiper, détecter et réagir efficacement aux attaques.

Les plus consultés sur iTPro.fr

A lire aussi sur le site

À la une de la chaîne Tech