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
|
CURSOR curseurMaitre_Type IS SELECT * FROM ....
CURSOR curseur1 (id IN BASE.TABLE1.id%TYPE) IS SELECT * FROM TABLE1;
CURSOR curseur2 (id IN BASE.TABLE2.id%TYPE) IS SELECT * FROM TABLE2;
...
table1 BASE.TABLE1%ROWTYPE;
table2 BASE.TABLE2%ROWTYPE;
...
BEGIN
FOR curseurMaitre IN curseurMaitre_Type
LOOP
OPEN curseur1(curseurMaitre.id);
OPEN curseur2(curseurMaitre.id);
...
FETCH curseur1 INTO table1;
FETCH curseur2 INTO table2;
...
IF table1.champ1 = 'aaa' and table2.champ1 = 'bbb' then....
ELSIF table1.champ1 = 'ccc' and table2.champ1 = 'ddd' then....
--fermeture des curseurs
CLOSE curseur1;
CLOSE curseur2;
END LOOP;
END; |