[firebase-br] Insert or update

Ivan Guimarães Meirelles igmeirelles em gmail.com
Sex Jun 20 21:36:05 -03 2008


Olá pessoal...

funciona sim... e a sintaxe é bem simples veja:

    update or insert into tabela(campo1, campo2) values(valor1, valor2)

veja q é um insert normal, apenas com "update or" no início...

um forte abraço a todos...

--------------------------------------------------
From: "Evandro Siqueira" <vansiqq em gmail.com>
Sent: Friday, June 20, 2008 12:13 PM
To: "FireBase" <lista em firebase.com.br>
Subject: Re: [firebase-br] Insert or update

> Eu acho que só funciona em SPs ou triggers, mas por outro lado, não
> testei ainda um update or insert direto dentro de um componente
> TQuery, portanto não posso afirmar  com convicção que não funciona.
>
> Evandro.
>
> Em 20/06/08, Janderson Almeida<jandersonloko em gmail.com> escreveu:
>> pode ser usando em qualquer lugar ou tem que ser em SP?
>>
>> Gostei muto disso, tava usando a versão 2.04 em um sistema em adamento, 
>> vou
>> migrar para a 2.1, poi sestava fazedo aquili, verifica e se não tiver
>> insere.
>>
>> Grato.
>>
>> 2008/6/20 Evandro Siqueira <vansiqq em gmail.com>:
>>
>>> Pelo que eu percebi, ele verifica a PK. Se não existe, ele faz um 
>>> Insert,
>>> caso contrario ele faz um Update.
>>>
>>> Evandro.
>>>
>>> 2008/6/20 Felipe Aron <felipearon em gmail.com>:
>>>
>>> > E como ele sabe quando será dado o UPDATE ?? Ele verifica a PK ou 
>>> > todos
>>> os
>>> > campos pra ver se existe ?
>>> >
>>> > On Fri, Jun 20, 2008 at 7:33 AM, Evandro Siqueira <vansiqq em gmail.com>
>>> > wrote:
>>> >
>>> > > Olá Janderson,
>>> > >
>>> > > Segue a sintaxe e exemplos retirados da "releases notes" do FB 2.1:
>>> > >
>>> > > UPDATE OR INSERT Statement
>>> > > Adriano dos Santos Fernandes
>>> > > (v.2.1)
>>> > > This syntax has been introduced to enable a record to be either
>>> > > updated
>>> > or
>>> > > inserted, according to whether or not it already exists (checked 
>>> > > with
>>> IS
>>> > > NOT
>>> > > DISTINCT). The statement is available in both DSQL and PSQL.
>>> > >
>>> > > Syntax Pattern
>>> > >
>>> > > UPDATE OR INSERT INTO <table or view> [(<column_list>)]
>>> > > VALUES (<value_list>)
>>> > > [MATCHING <column_list>]
>>> > > [RETURNING <column_list> [INTO <variable_list>]]
>>> > >
>>> > > Examples
>>> > >
>>> > > 1.UPDATE OR INSERT INTO T1 (F1, F2)
>>> > > VALUES (:F1, :F2);
>>> > >
>>> > > 2.UPDATE OR INSERT INTO EMPLOYEE (ID, NAME)
>>> > > VALUES (:ID, :NAME)
>>> > > RETURNING ID;
>>> > >
>>> > > 3.UPDATE OR INSERT INTO T1 (F1, F2)
>>> > > VALUES (:F1, :F2)
>>> > > MATCHING (F1);
>>> > >
>>> > > 4.UPDATE OR INSERT INTO EMPLOYEE (ID, NAME)
>>> > > VALUES (:ID, :NAME)
>>> > > RETURNING OLD.NAME;
>>> > >
>>> > > Eu falei que estou abusando por que tinha muitas SP que fazia algo 
>>> > > do
>>> > tipo:
>>> > > procure, se achar UPDATE se não achar INSERT e este comando pra mim
>>> > > foi
>>> > uma
>>> > > mão na roda.
>>> > >
>>> > > Espero ter ajudado,
>>> > > Evandro
>>> > >
>>> > > 2008/6/19 Janderson Almeida <jandersonloko em gmail.com>:
>>> > >
>>> > > > Sabia que  tinha uma versão que usava isso, qual a sintax e como
>>> > > > isso
>>> > > > funciona????
>>> > > >
>>> > > > naum achei muita coisa sobre o assunto na web.
>>> > > >
>>> > > > Grato.
>>> > > >
>>> > > > Janderson Almeida.
>>> > > >
>>> > > > 2008/6/19 Evandro Siqueira <vansiqq em gmail.com>:
>>> > > >
>>> > > > > Com certeza a 2.1
>>> > > > >
>>> > > > > E Funciona muito bem por que estou abusando da dita cuja... 
>>> > > > > hehehe
>>> > > > >
>>> > > > > 2008/6/18 Janderson Almeida <jandersonloko em gmail.com>:
>>> > > > >
>>> > > > > > Qual versão do firebird suporta essa sintax e como se usa?
>>> > > > > >
>>> > > > > > Grato.
>>> > > > > >
>>> > > > > > Janderon Almeida.
>>> > > > > > ______________________________________________
>>> > > > > > 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
>>> > > > > >
>>> > > > >
>>> > > > >
>>> > > > >
>>> > > > > --
>>> > > > > Evandro Siqueira
>>> > > > > Programador
>>> > > > > Aracaju/SE
>>> > > > > ______________________________________________
>>> > > > > 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
>>> > > >
>>> > >
>>> > >
>>> > >
>>> > > --
>>> > > Evandro Siqueira
>>> > > Programador
>>> > > Aracaju/SE
>>> > > ______________________________________________
>>> > > 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
>>> > >
>>> >
>>> >
>>> >
>>> > --
>>> > Com a força aprenda a suavidade. Através da suavidade a força
>>> prevalecerá!
>>> >
>>> > http://felipearonnet.spaces.live.com/
>>> > http://br.groups.yahoo.com/group/xna-br/
>>> > ______________________________________________
>>> > 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
>>> >
>>>
>>>
>>>
>>> --
>>> Evandro Siqueira
>>> Programador
>>> Aracaju/SE
>>> ______________________________________________
>>> 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
>>
>
>
> -- 
> Evandro Siqueira
> Programador
> Aracaju/SE
>
> ______________________________________________
> 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