Bonjour à tous,
Ma problématique est la suivante:
Je souhaite stocker les différentes lignes de mon curseur dans une collection (qui represente une file d'attente dans mon programme)
Je souhaite manipuler cette collection toujours de la même façon en utilisant la methode "collection.last" qui me renvoie l'indice de la dernière "case" de ma collection afin de la remplir comme une pile.
----------------------------
DECLARE
CURSOR curs2(param IN CAPACITY_MAT_REQ.ARINVT_ID%TYPE) IS SELECT arinvt_id,qty,unit,kind FROM capacity_mat_req WHERE parent_arinvt_id=param;
var2 curs2%rowtype;
TYPE filetype is table of var2%type index by binary_integer ;
file filetype;
BEGIN
OPEN curs2(var1.arinvt_id);
Loop
FETCH curs2 INTO var2;
--dbms_output.put_line(var2.qty);
file(file.last) := var2;
file.extend;
EXIT WHEN curs2%NOTFOUND;
End Loop;
CLOSE curs2;
END;
-----------------------------
Le curseur2 ainsi que var2 sont valides (j'ai fait le test). Le problème se situe certainement au niveau de l'initialisation de file mais je ne vois vraiment pas comment faire.
Si quelqu'un voit l'astuce? Merci d'avance!
Partager