Milton 

 Seguindo a idéia de que você vai efetuar a inserção utilizando o insert (tendo 
o listagg):
 

   insert into expedicao
     (produto_id, quantidade, oel_id)
     select i.produto_id,
            sum(i.quantidade),
            listagg(i.item_nota_id, ',') WITHIN GROUP(ORDER BY i.item_nota_id)
       from itens_da_nota i
      group by i.produto_id;
 


 você pode resolver o problema adicionando uma trigger after insert como segue 
(não cheguei a testar a trigger):
 

 create or replace trigger t_ai_expedicao
   after insert on expedicao  
   for each row
 declare
   v_itens_nota expedicao.itens_nota%type := 
rtrim(ltrim(:new.itens_nota,','),',')||',';
   -- deixar a lista no formato 'id1,id2,...,idn,' terminando com um ","
 begin
   while v_itens_nota is not null loop
     update itens_da_nota set retorno = :new.exp_id where item_nota_id = 
to_number(substr(v_itens_nota,1,instr(v_itens_nota,',')-1));
     v_item_nota_id := substr(v_itens_nota,instr(v_itens_nota,',')+1);
   end loop;
 end t_ai_expedicao;
 /
 

 Se o teu insert pode ser dentro de uma proc, então poderia fazer um cursor 
lendo as linhas da tabela itens_da_nota uma a uma (com um for update por 
exemplo) e para cada "quebra" de produto você pegaria um id da expedicao, 
inseriria na tabela de expedicao e faria update na itens_da_nota.
 

 Abs
 


 

  • [oracle... 'Milton Bastos Henriquis Jr.' miltonbas...@gmail.com [oracle_br]
    • Re... Emerson dos Santos Gaudêncio emerson.fen...@gmail.com [oracle_br]
      • ... 'Milton Bastos Henriquis Jr.' miltonbas...@gmail.com [oracle_br]
        • ... jlchia...@yahoo.com.br [oracle_br]
          • ... 'Milton Bastos Henriquis Jr.' miltonbas...@gmail.com [oracle_br]
            • ... jlchia...@yahoo.com.br [oracle_br]
            • ... Emerson dos Santos Gaudêncio emerson.fen...@gmail.com [oracle_br]
              • ... 'Milton Bastos Henriquis Jr.' miltonbas...@gmail.com [oracle_br]
                • ... 'Milton Bastos Henriquis Jr.' miltonbas...@gmail.com [oracle_br]
                • ... 'Milton Bastos Henriquis Jr.' miltonbas...@gmail.com [oracle_br]
                • ... flavio_brune...@yahoo.com [oracle_br]
                • ... 'Milton Bastos Henriquis Jr.' miltonbas...@gmail.com [oracle_br]
                • ... jlchia...@yahoo.com.br [oracle_br]

Responder a