Rajoutez de la puissance à vos applications client/serveur avec cette procédure cataloguée SQL qui renvoie de multiples lignes de donnéesEn écrivant des procédures cataloguées avec le
langage des procédures cataloguées (Stored Procedure Language ou SPL en
anglais) SQL on pourra d'une part jouir d'une plus grande portabilité sur des
plates-formes hétérogènes, et d'autre part simplifier le coding des bases de
données. Par ailleurs, l'utilisation des procédures cataloguées peut également
améliorer les performances et la sécurité des applications client/serveur. Le
SPL peut être utilisé dans différents cas de figure, y compris pour récupérer
un ensemble de résultats. Cet ensemble est constitué d'un ou
plusieurs enregistrements de données, comme par exemple une liste des meilleurs
ventes de livres classée par catégorie. Dans l'article "A l'intérieur
d'une procédure cataloguée SQL", NEWSMAGAZINE, septembre 1999, nous avons
fait un tour d'horizon des procédures cataloguées SQL. Nous avons également
expliqué comment créer une procédure cataloguée utilisant des paramètres de
sortie pour renvoyer des informations au programme appelant. Aujourd'hui, nous
allons embarquer pour un autre voyage, au coeur d'une procédure cataloguée SPL.
Mais cette fois, la procédure renvoie un ensemble de résultats. (Pour une présentation
des concepts de base du SPL, consultez l'article "Des procédures cataloguées
en SQL/400", NEWSMAGAZINE, juin 1998.
Nous allons embarquer pour un
autre voyage, au coeur d'une procédure cataloguée SPL
La procédure cataloguée GetTopBook que j’ai écrite,
renvoie des informations sur les livres les plus vendus dans une catégorie
particulière au cours de la semaine précédente. Comme l’indique la section A
de la figure 1, la procédure admet deux paramètres en entrée : un numéro
d’identification de livre (BookIdIn) et la position dans le palmarès des ventes
d’une catégorie de livres donnée (CategoryRankIn). Le numéro d’identification
du livre permet d’identifier la catégorie de livres à classer. La position
dans le palmarès des ventes d’une catégorie de livres détermine le nombre de
best-sellers que la procédure cataloguée renverra. Par exemple, si le
programme appelant fournit une position dans le palmarès des ventes égale à
1, alors la procédure cataloguée renverra des informations uniquement sur les
livres qui se sont les mieux vendus. De même, si le programme appelant indique
5, alors la procédure cataloguée renverra des informations sur les cinq
meilleures ventes de livres. Etant donné que plusieurs livres peuvent obtenir
exactement le même score en nombre d’exemplaires vendus, et de ce fait posséder
des classements identiques, la procédure cataloguée peut renvoyer plus de
livres que le nombre défini par le programme appelant comme seuil dans le
palmarès des ventes. Evidemment, la procédure peut également renvoyer moins
de livres.
Les paramètres en sortie de la procédure
renvoient la catégorie du livre spécifié (CategoryIdOut, qui représente la
catégorie servant à classer les best-sellers), la date du Samedi précédent (WeekEndingDateOut,
qui indique la fin de la semaine précédente), le nombre des livres renvoyés
dans l’ensemble de résultats (RowsOut), et un statut d’achèvement de la procédure
(SQLStateOut). Les figures 2a à 2c présentent respectivement les tables des
bases de données Book, BookSaleWk, et Category. Comme l’illustre la figure 2b,
chaque livre affiché dans la table BookSaleWk possède un enregistrement pour
toutes les semaines pendant lesquelles il a été disponible en librairie.
Pour identifier les meilleures ventes
dans une catégorie, la procédure cataloguée GetTopBook effectue les opérations
suivantes :
- Elle retrouve la date correspondant au samedi
précédent.
- Elle retrouve la catégorie correspondant au
livre indiqué dans le paramètre BookIdIn.
- Elle boucle à travers les résultats des
ventes de la semaine et de la catégorie spécifiés dans un ordre décroissant,
en commençant par le nombre le plus élevé d’exemplaires vendus, jusqu’à
atteindre le rang des ventes défini, ou alors jusqu’à ce que la dernière
ligne de résultats des ventes ait été lue. GetTopBook sauvegarde le
nombre d’exemplaires vendus correspondant au dernier enregistrement lu.
- Elle renvoie la liste des livres faisant
partie de la catégorie sélectionnée et dont les chiffres de ventes (pour
la semaine précédente) sont supérieurs ou égaux à la valeur sauvegardée
à l’étape 3.
Téléchargez cette ressource
Livre blanc Sécurité et Stockage des documents
Découvrez dans ce livre blanc Kyocera les outils logiciels qui permettent une approche holistique et efficace de la collecte, du stockage, de la gestion et de la sécurisation des documents en entreprise.