[firebase-br] verificar registro e inserir

Eduardo Jedliczka jedyfb em gmail.com
Qui Abr 23 09:35:11 -03 2009


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



Mais detalhes sobre a lista de discussão lista