Salut a tous !
voila j'ai un soucis technique sur un curseur, il fonctionne mais à la fin il me renvoit deux fois la dernière ligne... uniquement la dernière.
ici on a ma premiere table, et mon curseur est sensé me renvoyé les résultat dont la date est inferieur au 01/01/2012. donc il est sencé me renvoyé 3 lignes !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SQL> select * from tb_commande; ID_PRODUIT ID_CLIENT ID_COMMANDE DATE_COMM ---------- ---------- ----------- --------- 2 2 1 3 3 2 15-MAY-12 2 3 4 05-MAY-01 3 22 5 06-SEP-89 3 3 7 18-DEC-89 SQL>
voici mon curseur (avec le %notfound pourtant..)
et il me stock les résultats dans une nouvelle table. avec l'id de la commande.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 declare cursor curs_alert_commande is select * from tb_commande where date_commande <= to_date('01012012','DDMMYYYY'); dataC tb_commande%rowtype; begin open curs_alert_commande; loop fetch curs_alert_commande into dataC; insert into TB_ALERT(id_commande)values(dataC.id_commande); exit when curs_alert_commande%notfound; end loop; close curs_alert_commande; end; /
mais voici le résultat :
il m'a doublé l'id 7 ( le dernier ). J'aurais besoin d'aide pour savoir d'où cela peut-il bien venir ?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SQL> select * from tb_alert; ID_ALERT ID_COMMANDE ---------- ----------- 12 4 13 5 14 7 15 7
Merci d'avance à ce qui prendrons la peine d'intervenir.
Partager