Cara, eu aprendi isso dando aula. Tem muita coisa que a gente só aprende quando precisa, mas ao dar aulas a gente aprende também o que os outros precisam, pois os alunos nos questionam muita coisa que a gente tem que se preparar ou pesquisar para responder!
Como vc disse, *sempre há muito o que aprender*! Quanto mais a gente estuda, mais entendemos que ainda temos muito o que aprender! []s *Fábio Prado* <http://www.fabioprado.net/2014/01/oracle-ace-o-que-e-isso.html> www.fabioprado.net "Compartilhando conhecimentos e treinando profissionais em Bancos de Dados Oracle" Em 22 de abril de 2014 11:34, Milton Bastos Henriquis Jr. < miltonbas...@gmail.com> escreveu: > > > Perfeito Fábio, testei aqui com 2 sessões diferentes abertas e realmente > funcionou! > > O Vitor Jr. também me passou a mesma solução pelo skype... > > Obrigado aos dois! > > > Olha só que coisa... 15 anos de SQL e PL/SQL e eu não sabia desse conceito > básico até hoje! > Nunca tinha precisado. > Pra mim o currval pegava o último numero gerado pela sequence, > independente de sessão. > > Pra gente ver que SEMPRE há o que aprender! > > > Em 22 de abril de 2014 11:23, Milton Bastos Henriquis Jr. < > miltonbas...@gmail.com> escreveu: > >> Fala Fábião! >> >> Cara, eu juro que não sabia que o currval só pegava da sessão atual! >> >> Achei que o currval pegava o valor atual da sequence independente da >> sessão! >> >> Vou testar aqui... >> >> >> Em 22 de abril de 2014 11:21, Fabio Prado <fbifa...@gmail.com> escreveu: >> >> >>> >>> Miltão, por favor especifique como será essa transação concorrente. Se >>> ela for executada por outro usuário vc não terá problema algum, pois o >>> CURRVAL da SEQUENCE é um valor de sessão. >>> >>> É importante entender que as transações de outros usuários não afetarão >>> o CURRVAL de uma sessão que acabou de fazer o INSERT na TABLE1, se vc >>> utilizar o CURRVAL logo em seguida para fazer INSERT em outra tabela, ok? >>> >>> >>> []s >>> >>> *Fábio Prado* >>> <http://www.fabioprado.net/2014/01/oracle-ace-o-que-e-isso.html> >>> www.fabioprado.net >>> "Compartilhando conhecimentos e treinando profissionais em Bancos de >>> Dados Oracle" >>> >>> >>> >>> Em 22 de abril de 2014 11:10, Milton Bastos Henriquis Jr. < >>> miltonbas...@gmail.com> escreveu: >>> >>> >>>> >>>> Bom dia amigos! >>>> >>>> Tenho um probleminha aqui... quero ver se alguém consegue me ajudar. >>>> >>>> A situação é a seguinte: >>>> >>>> - Tenho uma tabela TABLE1. >>>> Essa tabela (assim como todas as outras do sistema) tem uma trigger de >>>> insert. >>>> >>>> A PK dessa tabela é gerada por uma sequence. >>>> Isso é feito dentro da trigger - até aí tudo bem, algo bem comum de se >>>> ver por aí. >>>> >>>> >>>> O meu problema é que eu tenho um processo em que eu preciso fazer um >>>> insert na tabela TABLE1 (isso numa stored procedure), e preciso do ID >>>> que foi gerado >>>> para ser inserido em outra tabela. >>>> >>>> Eu não quero pegar o CURRVAL da sequence, pois corro o risco de uma >>>> transação >>>> concorrente também fazer um nextval nessa sequence nesse meio tempo. >>>> >>>> Alguém sabe se é possível eu conseguir retornar esse valor que está >>>> sendo gerado dentro da trigger? >>>> >>>> >>>> >>> >> > >