[firebase-br] Dúvida referente a Delete

rdaguiar rdaguiar.dantas em gmail.com
Ter Jan 4 10:02:47 -03 2011


Desculpa Eduardo, eu sou leigo. Não entendi essa parte:
"Esse campo não se presta à PK, ainda que hoje você só tenha uma tabela, 
pelo menos um campo dela deve garantir a unicidade de um registro por 
todo o ciclo de vida da informação."

E outra, essa tabela vai ser única para sempre e não vou utilizar 
servidor, é um aplicativo simples e Desktop. Apenas uma pessoa ira manusear.

E quanto ao Generator? tem como fazer com que ele venha a diminuir -1?

Abaixo, você colocou "codigo = codigo -1" esse código seria o meu campo 
ID? "ID = ID -1"

Grato pela colaboração


Robson


Em 04-01-2011 08:25, Eduardo Bahiense escreveu:
> Bem, se você tirar o 5, 6 passa a ser 5, então,
>
> em uma trigger afterdelete ficaria assim (pseudo código):
>
> update tabela set codigo=codigo -1 where codigo > old.codigo;
>
> O problema disso é a concorrência, se dois usuários excluirem 
> registros ao mesmo tempo pode haver inconsistência.
> Outra coisa: Esse campo não se presta à PK, ainda que hoje você só 
> tenha uma tabela, pelo menos um campo dela deve garantir a unicidade 
> de um registro por todo o ciclo de vida da informação.
>
> Eduardo
>
> Em 03/01/2011 19:56, rdaguiar escreveu:
>> Olá pessoal
>>
>> Eu sou iniciante com programação em geral.
>>
>> Estou usando o Lazarus (primo do Delphi) no Linux Ubuntu e o Firebird 
>> 2.5
>>
>> Minha dúvida é a seguinte:
>>
>> No botão Deletar faço:
>>
>> DM1.DataSource1.DataSet.Delete;
>>
>> O registro corrente é deletado, até aí tudo bem. Só que, digamos que
>> tenho 5 registros na tabela e deletei o registro 3, então, o registro
>> seguinte (que era o registro 5) passou a ser o registro 4, mas meu ID
>> continuou sendo 5. Como fazer para o ID atualizar automaticamente?
>>
>> Agradeço a ajuda.
>>
>>
>> Robson
>>





Mais detalhes sobre a lista de discussão lista