[firebase-br] RES: verificar registro e inserir

LuisFireVB luisfirevb em gmail.com
Qui Abr 23 09:25:53 -03 2009


Cássio eu faço isso pelo VB e não no banco, pois ainda não estou usando o
FB.

Eu faço assim:
Select pego o maior ID da tabela na hora de gravar, incluo ele + 1 no
Insert. O que ocorre:

Se alguém nesse intervalo de tempo já gravou esse mesmo ID (milésimo de
segundo antes), irá gerar um erro que sua rotina deve interceptar, então
desvia a rotina para refazer o processo de pegar o último ID novamente e
regravar até conseguir. Isso é muito difícil de acontecer, porém possível
por isso a rotina.

Então se não está conseguindo pelo FB, faça pela sua aplicação é mais
seguro.

Luis

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Cássio
Enviada em: quinta-feira, 23 de abril de 2009 09:12
Para: lista em firebase.com.br
Assunto: Re: [firebase-br] verificar registro e inserir

Opa. Desisto. Não consegui me fazer compreender... não entendo como não 
consigo fazer um if direto no SQL no firebird.

tenho que verificar qual o registro pois é uma tabela de configuração, 
então sempre para inserir nesta tabela eu pego o valor max do id e somo 
mais 1. Desta forma nunca vai ocorrer chave duplicada. Então eu queria 
ver se a descrição já existe, caso não exista insere o novo registro...

mas vlw.

Sergio Nascimento escreveu:
> Entao voce vai dar o comando de insert e tratar o erro (se gerado).
> 
> Se na inserção houver o erro, então o registro já existe, se não
> ocorrer erro, o registro não existia e foi inserido sem problemas.
> 
> Em 22/04/09, Cássio<cassio.hc em gmail.com> escreveu:
>> Opa.
>> Sim necessito. Pois é um atualizador de banco de dados...
>> Então, precisei criar um novo registro no banco do cliente, ai preciso
>> saber se este registro já existe lá, caso não exista eu faço o insert.
>>
>> vlw.
>>
>> Sergio Nascimento escreveu:
>>> Voce realmente necessita saber se o registro existe ?
>>>
>>> Em 22/04/09, Cássio<cassio.hc em gmail.com> escreveu:
>>>> Opa blz..
>>>> mas no insert eu consigo ver antes de inserir se o registro existe?
>>>>
>>>> algo do tipo: faço um select para ver se existe o reg.
>>>>
>>>>
>>>> select reg from dados where reg=1
>>>> caso esse select retorne false então devo chamar o insert para inserir
o
>>>> registro...
>>>>
>>>> tentei usando if mas não consegui.
>>>>
>>>> vlw.
>>>>
>>>> Sergio Nascimento escreveu:
>>>>> Cássio,
>>>>>
>>>>> use o comando: UPDATE OR INSERT
>>>>>
>>>>> Não são dois comandos, é um só comando.
>>>>>
>>>>>
>>>>> Em 20/04/09, Cássio<cassio.hc em gmail.com> escreveu:
>>>>>> Preciso verificar se um regitro numa tabela existe, caso não exista
>>>>>> preciso inseri-lo. Vou usar isso uma vez só, pois é uma atualização
de
>>>>>> banco no cliente. Então cabe uma Store Procedure. Como vcs fariam
isso?
>>>>>>
>>>>>> vlw.
>>>>>>
>>>>>>
>>>>>> ______________________________________________
>>>>>> 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
>>>>>>
>>>>> ______________________________________________
>>>>> 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
>>>>>
>>>> ______________________________________________
>>>> 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
>>>>
>>> ______________________________________________
>>> 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
>>>
>>
>> ______________________________________________
>> 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
>>
> 
> ______________________________________________
> 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
> 


______________________________________________
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





Mais detalhes sobre a lista de discussão lista