[firebase-br] Update no primeiro registro da tabela

Yves Cavalcanti yvescavalcanti em click21.com.br
Seg Jun 29 21:51:30 -03 2009


Acredito que um jeito mais simples seria você criar um stored procedure que
retorna algum campo que identifique o registro de interesse e com estes dados
executar o update.

Espero ter ajudado.


Citando Eduardo Jedliczka <jedyfb em gmail.com>:

>
> Ao realizar qualquer select, o banco cria uma coluna interna chamada
> DBKey ou RDB$DB_KEY.
>
> nestes casos onde não existe uma PK, pode-se usar a DBKey para atualizar
> a linha desejada.
>
> Experimente fazer um select dbkey, t.* from tabela t  e veja o valor do
> campo.
>
> Abraço
>
> Eduardo
>
> Em Seg, 2009-06-29 às 17:36 -0300, Marcelo Moreira escreveu:
>
> > Kelver,
> >
> > Seria mais ou menos isso.
> >
> > Obrigado!
> >
> >
> > Em 29/06/09, Kelver Merlotti <kmerlotti em gmail.com> escreveu:
> > >
> > > Pelo que entendi, o amigo precisa algo como o select first 1 from..., só
> > > que
> > > no update!
> > >
> > > um UPDATE FIRST 1 TABELA SET... seria bem legal, mas acho que não existe
> > > não! :-(
> > >
> > > Abraço!
> > >
> > > 2009/6/29 Marcelo Moreira <marcelomoreira.souza em gmail.com>
> > >
> > > > Douglas,
> > > > No caso minha tabela nao tem um chave primaria
> > > > E outro detalhe importante eu preciso fazer de uma maneira que um outro
> > > > usuario que faca o select na mesma hora que eu nao pegue o mesmo
> > > registro.
> > > > Isso nao pode acontecer em hipotese alguma.
> > > >
> > > > Obrigado pela atencao
> > > >
> > > > Abraços
> > > >
> > > >
> > > > Em 29/06/09, Douglas Tosi <douglasht em gmail.com> escreveu:
> > > > >
> > > > > 2009/6/29 Marcelo Moreira <marcelomoreira.souza em gmail.com>:
> > > > > > Atualize o primeiro registro da tabela com um determinado valor
> desde
> > > > que
> > > > > > este primeiro registro ainda nao esteja identificado
> > > > >
> > > > > "o primeiro registro na tabela" depende da ordenação que você quer
> > > > aplicar.
> > > > >
> > > > > Por exemplo, pela chave primária:
> > > > >
> > > > > update TB_LANCAMENTO l1
> > > > > set l1.IDENTIFICADOR = 554433
> > > > > where (l1.chave = (select first 1 l2.chave from tb_lancamento l2
> where
> > > > > l2.identificador is null order by l2.chave))
> > > > >
> > > > > hth,
> > > > > --
> > > > > Douglas Tosi
> > > > > www.sinatica.com
> > > > >
> > > > > ______________________________________________
> > > > > 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
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Marcelo Moreira
> > > > (31) 8420-2723
> > > > E-mail / MSN: marcelomoreira.souza em hotmail.com
> > > > E-mail: marcelomoreira.souza em gmail.com
> > > > Skype: marcelomoreira.souza
> > > > ______________________________________________
> > > > 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
> > > >
> > >
> > >
> > >
> > > --
> > > Kelver Merlotti
> > > Coordenador Editorial do Portal www.ActiveDelphi.com.br
> > > Contato: kelver em activedelphi.com.br
> > > Google: kmerlotti em gmail.com
> > > Msn: kmerlotti em hotmail.com
> > > Tem um segundo? Então, dá uma olhadinha nisso:
> > > Um site de publicidades, de Portugal, está pagando em euros (quase 3x
> > > mais que em reais) pra quem estiver disposto a:
> > > * Ler anúncios
> > > * Visitar sites
> > > * Clicar em banners
> > > * Navegar na NET
> > > * Ler e-mails
> > > * Convidar novos usuários
> > > O pagamento é feito em cheque! Registra lá!! Não custa nada! ;-)
> > > http://www.publipt.com/pages/index.php?refid=kmerlotti
> > > ______________________________________________
> > > 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
>



___________________________________________________________________________________
Para fazer uma ligação DDD pra perto ou pra longe, faz um 21. A Embratel tem
tarifas muito baratas esperando por você. Aproveite!





Mais detalhes sobre a lista de discussão lista