Con questa sintassi:
non ottengo il risultato che mi aspetto!!!codice:1 declare 2 l_x sys_refcursor; 3 l_y sys_refcursor; 4 l_tmp number; 5 begin 6 open l_x for 'select x from tx order by x'; 7 open l_y for 'select x from ty order by x'; 8 loop 9 fetch l_x into l_tmp; 10 exit when l_x%notfound; 11 dbms_output.put_line (l_tmp); 12 fetch l_y into l_tmp; 13 exit when l_y%notfound; 14 dbms_output.put_line (l_tmp); 15 end loop; 16 close l_x; 17 close l_y; 18 end;
Nel senso che se il primo cursore estrae N righe e il secondo nessuna, mi trovo stampata solo la prima riga estratta dal primo cursore.
Ovviamente appena legge con il secondo e non trova nulla esce dal loop.
Chiaramente problema inverso nel caso in cui il primo non trovasse niente ed il secondo una o più righe, ci sarebbe il foglio bianco perchè uscirebbe subito!!!!
Questo non mi va bene, io devo potere stampare tutte le righe di tutti e due i cursori sempre e comunque.
Come cambio tale sintassi???
Grazie anticipatamente a chi mi saprà dare dritte in merito!