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
|
open CUR FOR 'select rowid,nom,prenom, from client where classe = 100 ';
requete := 'UPDATE client
set flag = DECODE(:1,0,0,1),
nb_ligne = :1
WHERE ROWID = :2';
LOOP
FETCH CUR BULK COLLECT INTO lt_ROWID,lt_Nom,lt_prenom LIMIT 1000;
FOR J IN NVL(lt_ROWID.FIRST, 0) .. NVL(lt_ROWID.LAST, -1) LOOP
begin
execute immediate requete USING VALID_Client(),VALID_Client(), t_ROWID(J);
EXCEPTION WHEN OTHERS THEN
po_LIBERR := 'client invalide: '||SQLCODE||' : '||sqlerrm;
update_client(lt_ROWID(j));
end;
END LOOP;
commit;
EXIT WHEN CUR%NOTFOUND;
END LOOP;
CLOSE CUR; |
Partager