bonjour,
j'ai un traitement dans une appli web qui me bouffe pas mal de ressource. Je souhaiterai donc faire une procédure stockée pour accélérer les traitements.
Partons de la requête suivante :
Description de la table :select * from T_ES
Dans CD_ESRGPT (qui veut dire Code de l'ES de regroupement), si j'ai quelque chose de rempli, c'est une ES de regroupement.CD_ES, varchar de 5 (clé primaire)
LB_ES, varchar de 50
CD_ESRGPT, varchar de 5 (clé étrangère pointant sur CD_ES)
La demande de mon client est :
Je renseigne une ES et je dois donc descendre sa hiérarchie (je dois donc partir de CD_ESRGPT.
Par exemple pour l'ES donné 00001 (Appelons ça le niveau N),
je vais faire :
L'analyseur de requête me renvoeit par exemple :select CD_ES, CD_LB_ES, CD_ESRGPT from T_ES
WHERE CD_ESRGPT = '00001'
Appelons ça le niveau N-1 et amusons nous à descendre le niveau N-2 !00002, toto, 00001
00003, titi, 00001
00004, tati, 00001
Manuellement, je vais faire :
L'anyseur de requête me renverrait tjs dans notre exemple :select CD_ES, CD_LB_ES, CD_ESRGPT from T_ES
WHERE CD_ESRGPT in ('00002', '00003', '00004')
En gros, faudrait que la procédure stockée me renvoit directement quand je lui envoit en paramètre (sans tri imposer, ni groupement) 00001 :00005, dzadaz, 00002
00006, rtgerger, 00002
00007, ezfezf, 00003
00008, jlefklzef, 00003
00009, mlkfezf, 00003
Le problème n'étant pas spécialement débutant dans les procédures stockées, mais dès que c'est complexe, je fuis et du coup, là ca devient carrément urgent ne sachant pas comment faire....00002, toto, 00001
00003, titi, 00001
00004, tati, 00001
00005, dzadaz, 00002
00006, rtgerger, 00002
00007, ezfezf, 00003
00008, jlefklzef, 00003
00009, mlkfezf, 00003![]()










Répondre avec citation
Partager