Function no Oracle

10/12/2004

0

Caros Amigos,
A pouco tempo começei fazer funções em PL/SQL no Oracle e gostaria de saber daqueles que tem mais experiência se a função que chamei no Oracle pode ser executada por dois usuários ao mesmo tempo.
A questão é que eu tenho em uma tabela uma sequencia de número de notas fiscais (a sequencia tem que ser na tabela e não em Sequence). Mas minha preocupação é que duas pessoas peguem o mesmo número de sequencia na hora de imprimir a NF. Para isso criei a função PEGA_SEQUENCIA, mas aí veio a dúvida, é possível duas pessoas executarem ao mesmo tempo a função e pegarem o mesmo registro?
Por isso gostaria de saber se vou ter este problema ou se tem como fazer uma função que só execute com uma instância por vêz.
Grato,

Rodrigo Cesar


Rodc

Rodc

Responder

Posts

10/12/2004

Motta

Use a opção for update no select e faça uma transação explicita na aplicação.

para mais detalhes veja nos manuais ade sql e plsql as clausulas

select .... for update

commit / rollback

Esta opção de projeto se aplica a sequencias que não podem pular, mas podem causar deadlocks e travar o sistema pois gera muitos recursos concorrentes


Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar