[sql server 2000] Procédure stockée ~ Récursif (débutant)
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 :
Citation:
select * from T_ES
Description de la table :
Citation:
CD_ES, varchar de 5 (clé primaire)
LB_ES, varchar de 50
CD_ESRGPT, varchar de 5 (clé étrangère pointant sur CD_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.
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 :
Citation:
select CD_ES, CD_LB_ES, CD_ESRGPT from T_ES
WHERE CD_ESRGPT = '00001'
L'analyseur de requête me renvoeit par exemple :
Citation:
00002, toto, 00001
00003, titi, 00001
00004, tati, 00001
Appelons ça le niveau N-1 et amusons nous à descendre le niveau N-2 !
Manuellement, je vais faire :
Citation:
select CD_ES, CD_LB_ES, CD_ESRGPT from T_ES
WHERE CD_ESRGPT in ('00002', '00003', '00004')
L'anyseur de requête me renverrait tjs dans notre exemple :
Citation:
00005, dzadaz, 00002
00006, rtgerger, 00002
00007, ezfezf, 00003
00008, jlefklzef, 00003
00009, mlkfezf, 00003
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 :
Citation:
00002, toto, 00001
00003, titi, 00001
00004, tati, 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.... :oops: