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? >> >> >> > >