[firebase-br] Dúvida referente a Delete

Leonardo Terrão leonardoterrao em gmail.com
Ter Jan 4 10:10:42 -03 2011


Então crie um atributo para servir como PK e deixe o ID apenas como atributo
para ordenação, e coloque nele um contador que atualize toda vez que um
registro seja deletado, seu ID está como uma PK ele nao pode ser alterado.

Em 4 de janeiro de 2011 10:02, rdaguiar <rdaguiar.dantas em gmail.com>escreveu:

> 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
>>>
>>>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Leonardo Terrão

leonardoterrao em hotmail.com

Análise e Desenvolvimento de Sistemas



Mais detalhes sobre a lista de discussão lista