[firebase-br] verificar registro e inserir

Cássio cassio.hc em gmail.com
Qui Abr 23 14:00:54 -03 2009


Então, ai que errei...
Apenas disse que não queria usar uma sp... quero fazer isso fora de 
trigger e sp... Então devo usar o execute block? algum exemplo ai?

vou procurar nos exemplos.. flw.



Eduardo Jedliczka escreveu:
> Cassio,
> 
> O comando IF só existe dentro de um bloco PSQL (seja ele uma trigger,
> stored procedure, ou execute block).
> 
> Se você estiver utilizando o Firebird 2.1 olhe nos arquivos de exemplos
> (que vão junto com a instalação) e veja como funciona o execute block.
> 
> Ou seja, não dá para fazer um IF em qualquer lugar, e como você não
> especificou onde está colocando esta comparação, muitos aqui acreditaram
> que você está fazendo uma stored procedure.
> 
> abraço
> 
> Eduardo Jedliczka
> 
> Em Qui, 2009-04-23 às 09:12 -0300, Cássio escreveu:
> 
>> 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
> ______________________________________________
> 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