Salut,
J'ai découvert les procédures stockées il y a quelques pour un projet professionnel, je suis entrain de convertir des procédures stockées d'informix vers DB2. J'ai donc une connaissance basique mais je bloque sur un cas spécifique où je dois renvoyer les informations de deux requêtes dont une est imbriquée à l'autre
J'ai créée une procédure simple basée sur 2 requêtes
- 1er curseur déclaré, je recupère sans problème un ensemble de données incluant un partenaire id
- je crée un 2ème curseur pour récupérer le prénom & nom du partenaire (basé sur le résultat de la 1ère requête)
Après je ne sais pas comment faire pour avoir l'affichage de mes résultats.
Je m'oriente vers les boucles mais sans succès pour l'instant ...
Comment dois-je faire ?
Merci,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 CREATE PROCEDURE test() BEGIN DECLARE contractNbr INT; DECLARE partNbr CHAR(40); DECLARE name char(40); DECLARE firstName char(40); DECLARE cur CURSOR WITH RETURN TO CLIENT FOR SELECT contract, partnr FROM contracts WHERE contract BETWEEN 1 AND 10 ORDER BY contract; DECLARE cur2 CURSOR WITH RETURN TO CLIENT FOR SELECT name, firstName from pers where partnr = partNbr; SET CURRENT LOCK TIMEOUT WAIT; OPEN cur; FETCH cur INTO contract, partNbr; LOOP open cur2; FETCH cur2 INTO name, firstName; END LOOP; END @
Partager