Oracle : 8.1.7
Unix : HP/UX B11
J'essaye de Faire la manip suivante : Faire un BULK COLLECT Vers Un TYPE basé sur un Curseur
Mais Msieur Oracle n'est pas d'accord : Avez vous une idée
L'erreur
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 1 Declare 2 3 /**********************************************************************/ 4 /* Extraction des Commandes d'une Cliente */ 5 /**********************************************************************/ 6 Cursor Cur_temp_cde (w_pays varchar2, w_client varchar2 ,w_date_lim date) IS 7 select 8 pay_cd, cde_no, cli_no, pla_cde, 9 mai_cd, cde_dt_facture 10 from COMMANDE 11 WHERE CLI_PAY_CD = w_pays 12 AND CLI_NO = w_client 13 AND CDE_DT_FACTURE >= w_date_lim 14 order by CDE_DT_FACTURE DESC; 15 16 TYPE TYP_TAB_CDE IS TABLE OF Cur_temp_cde%ROWTYPE; 17 18 t_rec TYP_TAB_CDE; 19 20 Begin 21 OPEN Cur_temp_cde ('001','12345789',sysdate - 1000); 22 loop 23 --------------------------------------------------------- 24 -- 25 --------------------------------------------------------- 26 FETCH Cur_temp_cde BULK COLLECT into t_rec LIMIT 15; 27 For i In t_rec.first..t_rec.last Loop 28 -- Insertion Dans Commande_bis 29 null; 30 End loop ; 31 Exit When Cur_Temp_Cde%NOTFOUND ; 32 end loop; 33* End; /
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SQL> / FETCH Cur_temp_cde BULK COLLECT into t_rec LIMIT 15; * ERREUR à la ligne 26 : ORA-06550: Ligne 26, colonne 45 : PLS-00597: l'expression 'T_REC' dans la liste INTO est de type incorrect ORA-06550: Ligne 26, colonne 8 : PL/SQL:SQL Statement ignored
Partager