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