Hello tout le monde,
voilà , je n'ai pas trouvé sur le net ( ni ici d'ailleurs) la méthode pouvant me permettre d’appeler une procédure dans un curseur.
Je m'explique.
J'ai une procédure qui a besoin d'1 id en entrée et j'aurai 4 valeurs en OUT.
dans mon curseur , je fais un select de tous les id.
mais je ne sais pas comment dans ma boucle, du first au last, je sollicite la procédure afin de récupérer par id, les valeurs de sorties qui me permettront ensuite de les insérer sur une table temporaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 PROCEDURE Chargement (PI_ID IN OUT NUMBER, PO_ERR OUT NUMBER, PO_COMMENT OUT VARCHAR2, PO_DATE_ERR OUT DATE, PO_FLAG OUT NUMBER) IS
Je ne sais pas si je me suis fait comprendre mais bon, j'vais faire le code pour mieux vous exprimer mon besoin.
NB :
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 Procédure check_tmp1_id is tmp1_id number; CURSOR Tmp1 is select * from tmp ; BEGIN Open Tmp1; LOOP Fetch Tmp1 into tmp1_id; forall x in tmp1_id.first..tmp1_id.last ---> là je veux faire appel à la procédure qui consiste à insérer l'id PROCEDURE.Chargement (tmp1_id (x) , PO_ERR, PO_COMMENT , PO_DATE_ERR, PO_FLAG) INSERT INTO Tabletempo ( ID, erreur, comment, date, flag) values ( tmp1_id (x), po_err(x),PO_COMMENT(x) , PO_DATE_ERR(x), PO_FLAG(x)); END LOOP;
Partager