Re: [oracle_br] PL/SQL - trigger

2014-04-22 Por tôpico Jean Carlos Reddiga
Pessoal, neste caso não seria mais simples usar um Insert Returning???

INSERT 
INTO
 
(column_list)
VALUES 
(values_list)
RETURNING  
INTO  ;

Pelo que intendi, o insert vai ser via comando insert certo.


Em 22 de abril de 2014 11:52, Vitor Junior  escreveu:

>
>
> Miltão, como te disse, passei por isso quando precisei pegar o currval de
> uma sequence e descobri que só rolava se ela fosse 'iniciada' na sessão...
> aí tive que ir pra coluna last_number!
>
> Não há saber mais ou saber menos, existem saberes diferentes... :)
>
>
>
>
> Att,/Regards,
>
>
> Vitor Jr.
> Infraestrutura / Infrastructure Team
> Oracle 11g DBA Certified Professional - OCP
> Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid
> Infrastructure Administrator - OCE
> Oracle Database 11g Performance Tuning Certified Expert - OCE
> Oracle Exadata 11g Certified Implementation Specialist
> Oracle Certified Associate, MySQL 5
> mail, gtalk e msn: vitorj...@gmail.com
> http://certificacaobd.com.br/
> skype: vjunior1981
> https://mybizcard.co/vitor.jr.385628
>
>
> Em 22 de abril de 2014 11:42, Fabio Prado  escreveu:
>
>
>>
>> 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*
>> 
>> 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 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*
> 
> 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?
>>
>>
>>
>

>>>
>>
>  
>


Re: [oracle_br] PL/SQL - trigger

2014-04-22 Por tôpico Vitor Junior
Miltão, como te disse, passei por isso quando precisei pegar o currval de
uma sequence e descobri que só rolava se ela fosse 'iniciada' na sessão...
aí tive que ir pra coluna last_number!

Não há saber mais ou saber menos, existem saberes diferentes... :)




Att,/Regards,


Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional - OCP
Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid
Infrastructure Administrator - OCE
Oracle Database 11g Performance Tuning Certified Expert - OCE
Oracle Exadata 11g Certified Implementation Specialist
Oracle Certified Associate, MySQL 5
mail, gtalk e msn: vitorj...@gmail.com
http://certificacaobd.com.br/
skype: vjunior1981
https://mybizcard.co/vitor.jr.385628


Em 22 de abril de 2014 11:42, Fabio Prado  escreveu:

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

>>>
>>
>  
>


Re: [oracle_br] PL/SQL - trigger

2014-04-22 Por tôpico Fabio Prado
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*

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



>>>
>>
>  
>


Re: [oracle_br] PL/SQL - trigger

2014-04-22 Por tôpico Alessandro Lúcio Cordeiro da Silva
Isso mesmo o Fabio esta certo, o currval é somente da sessão/transação, segue 
um exemplo que estava fazendo:
 
 SQL> connectproducao_fas/senha@bdagnusConectado.
 
SQL> createtableteste1 (pk_cod number(6));Tabela criada.
 
SQL> createsequenceseqteste1 minvalue1startwith1incrementby1;SequÛncia criada.
 
SQL> insertintoteste1 (pk_cod) values(seqteste1.nextval);
1linha criada.
SQL> selectseqteste1.currval fromdual;
CURRVAL--
 
2- OUTRA SESSÂO 
 
 
SQL> connectproducao_fas/senha@bdagnusConectado.
SQL> insertintoteste1 (pk_cod) values(seqteste1.nextval);
1linha criada.
SQL> selectseqteste1.currval fromdual;
CURRVAL--
3
 
 
Agora o problema é o seguinte: O compilado não vai deixar você em rotinas 
diferente (triggers/procedure/functions) executar o nextval e outro o Currval 
valor. Para contornar isso você pode criar uma variável a nível de cabeçalho de 
package, a trigger realizar a alteração desta variável e a sua procudure 
consultar o valor desta variável. Tomando cuidado de não criar um acoplamento 
muito alto do seu sistema, você pode fazer assim.
 
 

Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

Em Terça-feira, 22 de Abril de 2014 10:23, Milton Bastos Henriquis Jr. 
 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  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/
>"Compartilhando conhecimentos e treinando profissionais em Bancos de Dados 
>Oracle" 
> 
>
>
>Em 22 de abril de 2014 11:10, Milton Bastos Henriquis Jr. 
> 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? 
>>
>>
>>
>>
>
  
 

Re: [oracle_br] PL/SQL - trigger

2014-04-22 Por tôpico Milton Bastos Henriquis Jr.
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  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*
>> 
>> 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?
>>>
>>>
>>>
>>  
>>
>
>


Re: [oracle_br] PL/SQL - trigger

2014-04-22 Por tôpico Milton Bastos Henriquis Jr.
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  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*
> 
> 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?
>>
>>
>>
>  
>


Re: [oracle_br] PL/SQL - trigger

2014-04-22 Por tôpico Fabio Prado
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*

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


[oracle_br] PL/SQL - trigger

2014-04-22 Por tôpico Milton Bastos Henriquis Jr.
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?