Atualize hoje para o Scriptcase 9 e ganhe 35% de desconto! Atualize hoje para o Scriptcase 9 e ganhe 35% de desconto! COMPRAR AGORA!

Autor Tópico: RESOLVIDO - Bloquear registro para alterar valor.  (Lida 272 vezes)

Cezar Moniz

  • Iniciante
  • **
  • Mensagens: 75
  • Gestão da Informação
    • Gestão da Informação
    • Email
RESOLVIDO - Bloquear registro para alterar valor.
« Online: Maio 13, 2017, 03:29:28 pm »
Prezados e Prezadas.

Sei que o tema já possa ter sido comentado anteriormente no Fórum, mas não achei nada sobre esta matéria. Me perdoem se estarei sendo repetitivo.

Tenho uma tabela PARAMETROS, onde guardo algumas informações que preciso. Um dos campo é NR_CAIXA.
Pois bem, eu preciso bloquear este campo que tem um valor numérico, somar 1 e atualizar com o novo valor. Mas enquanto faço essa operação outro usuário não poderá faze-lo, pois iria dar problemas com numero da caixa igual.

Pergunto aos mais experientes, se seria melhor fazer através de um Trigguer ou se o Scriptcase tem um comando Tipo Lock() e Unlock() para controle deste update.

O banco é o Firebird.

Podem me dar uma orientação?

Obrigado
« Última modificação: Maio 20, 2017, 11:18:43 am por Cezar Moniz »
Atenciosamente,
Cezar Moniz

Haroldo

  • Expert
  • *****
  • Mensagens: 7247
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase


Jailton

  • Expert
  • *****
  • Mensagens: 2551
Re:Bloquear registro para alterar valor.
« Responder #3 Online: Maio 14, 2017, 12:37:29 am »
Se for usar o Firebird 3.0, já tem o Recurso:
create table objects (
id integer generated by default as identity primary key,
name varchar(15)
);
insert into objects (name) values (‘Table’);
insert into objects (name) values (‘Book’);
insert into objects (id, name) values (10, ‘Computer’);
select * from objects;
ID NAME
============ ===============
1 Table
2 Book
10 Computer

Agora nas versões anteriores usar:
https://www.kinghost.com.br/wiki/artigo/como-criar-autoincrement-no-firebird/
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Cezar Moniz

  • Iniciante
  • **
  • Mensagens: 75
  • Gestão da Informação
    • Gestão da Informação
    • Email
Resolvido:Bloquear registro para alterar valor.
« Responder #4 Online: Maio 15, 2017, 07:49:53 am »
Prezados.

Obrigado pelo retorno.

Consegui resolver lendo um artigo do Firebird, onde ele junta o Generator. Seque a solucao para quem precisar.


create trigger biu_books
  active before insert or update position 3
  on books
as
begin
  if (new.id is null)
    then new.id = next value for gen_bookids;
end



Um grande abraço a todos.

« Última modificação: Maio 15, 2017, 08:29:31 am por Cezar Moniz »
Atenciosamente,
Cezar Moniz