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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| declare
id_objet NUMBER;
id_groupe VARCHAR2(9);
toto VARCHAR2(20);
numero VARCHAR2(15);
numnum VARCHAR2(30);
cursor curseur is select distinct(table1.lenumero), table2.groupid, table1.toto
from table1, table2, table3
where mesconditions;
BEGIN
id_objet := 0;
id_groupe := NULL;
toto := NULL;
numero := NULL;
numnum := NULL;
OPEN curseur;
dbms_output.put_line('avant for' || numnum);
loop
FETCH curseur
INTO numero, id_groupe, toto;
EXIT WHEN curseur%NOTFOUND;
dbms_output.put_line('numero' || numero);
sa.Proc_id_obj ('ordre', id_objet);
-- procédure interne qui me fourni des id_objet non utilisé
numnum := substr(numero,length(numero-8))||';'||substr(numero,length(numero-8));
insert into table_ordre(OBJID, X_AV_DATE, X_AV_STATUT, X_AV_PARAM1, X_AV_PARAM2, X_AV_PARAM3, X_AV_PARAM4, X_AV_PARAM5)
values (id_objet, sysdate, 'P', id_groupe, toto, numero, numnum, 'OK');
dbms_output.put_line('id_objet : ' || id_objet);
dbms_output.put_line('id_groupe : ' || id_groupe);
dbms_output.put_line('toto : ' || toto);
dbms_output.put_line('numero : ' || numero);
dbms_output.put_line('numnum : ' || numnum);
dbms_output.put_line('-----------------------------------------');
id_objet := 0;
numnum := NULL;
dbms_output.put_line('id_objet : ' || id_objet);
dbms_output.put_line('numnum : ' || numnum);
dbms_output.put_line('-----------------------------------------');
end loop;
close curseur;
END;
/ |
Partager