Ok Emerson, a clausula returning eu conheço!
Mas lembre-se que estou fazendo um INSERT SELECT.

Vai gerar vários registros, varios IDS... e preciso grava-los e vários
outros registros.


Em 30 de maio de 2014 15:00, Emerson dos Santos Gaudêncio
emerson.fen...@gmail.com [oracle_br] <oracle_br@yahoogrupos.com.br>
escreveu:

>
>
> Boa Tarde Miltão,
>
>  é possível sim. Através de operações DML utilizar a cláusula "returning"
> para devolver valores antes do commit.
>
> Segue abaixo, alguns links como exemplo:
> http://www.oracle-base.com/articles/misc/dml-returning-into-clause.php
>
> https://community.oracle.com/thread/451776
>
> http://www.oracle-developer.net/display.php?id=413
>
> http://www.adp-gmbh.ch/ora/sql/insert_into_x_returning_y.html
>
> Att,
> Emerson
>
>
> Em 30 de maio de 2014 13:51, 'Milton Bastos Henriquis Jr.'
> miltonbas...@gmail.com [oracle_br] <oracle_br@yahoogrupos.com.br>
> escreveu:
>
>
>>
>> Olá pessoal!
>>
>> Tenho mais um probleminha aqui, dessa vez imagino que seja fácil pra
>> resolver mas
>> não tô conseguindo visualizar a solução.
>>
>> Imaginem duas tabelas:
>>
>> 1 - Itens da nota
>>
>> 2 - Expedição
>>
>> Na tabela 1 é a típica tabela de itens... ela tem uma FK para a tabela de
>> Notas.
>>
>> ITENS_DA_NOTA
>> ID (sequencial)
>> NOTA_ID (FK pra nota)
>> PRODUTO_ID
>> Quantidade
>>
>> A tabela 2 é do sistema de gerenciamento do armazém.
>> Ao processar as notas, tenho alguns casos em que os produtos devem ser
>> AGRUPADOS independente de qual nota seja.
>>
>> Por isso, na hora de inserir na tabela de expedição eu faço mais ou menos
>> isso:
>>
>> INSERT into expedicao
>> (...
>> ...)
>> select produto_id,
>> sum(quantidade)
>> from itens_da_nota
>> group by produto_id;
>>
>> Até aí beleza.... o problema é que depois dessas expedições serem
>> processadas
>> eu preciso DEVOLVER pra outra tabela um espelho da tabela de itens da
>> nota,
>> com a quantidade de produtos atendidos, mantendo inclusive aquele ID do
>> item da nota.
>>
>> Com isso nós criamos um campo novo na tabela ITENS_DA_NOTA. Vamos supor
>> que o nome desse campo seja EXP_ID. Assim, quando fizer o agrupamento
>> acima,
>> eu quero gravar os IDs desses registros novos da expedição nos registros
>> dos itens da nota.
>>
>> É possível recuperar o  IDs da EXPEDIÇAO pra gravá-los na própria tabela
>> de ITENS_DA_NOTA
>> quando eu faço o insert acima?
>>
>>
>> Imagino que tenha ficado bem confuso... conseguiram entender?
>> Alguma idéia de como fazer isso em PL/SQL?
>>
>>
>>
>  
>
  • [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