Manipuler les enregistrements dans un curseur
Bonjour à tous,
j' aimerai obtenir un p' tit coup de pouce sur un pb qui me bloque depuis plusieurs jours. J' ai dans une procédure le curseur suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
create or replace maproc(nr_courant number, nr_ressource)
DECLARE
CURSOR cur_ress IS SELECT id
FROM table a,
table b
WHERE a.nr_courant = nr_courant
and a.nr_ressource = nr_ressource
and a.id = b.id ;
v_ress cur_ress %ROWTYPE;
v_rem varchar2(255);
v_test boolean; |
Ce curseur me renvoie deux lignes. Pour appliquer un traitement à une ligne précise mais seulement à cette ligne là j' ai écrit le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
BEGIN
v_test:= false;
v_rem:= null;
open cur_ress;
loop
fetch cur_ress into v_ress;
exit when cur_ress%notfound;
end loop;
close cur_ress;
if v_ress = 44 then
v_test := true;
else v_test := false;
end if;
if v_test = true then
v_rem := 'mon texte';
dbms_output.put_line(v_rem);
end if;
END; |
Seulement le texte est imprimé pour chacune des lignes contenues dans le curseur. Alors que je pensais avoir restraint l' impression du texte pour la ligne du curseur ayant la valeur 44.
Merci de votre aide