[firebase-br] RES: Update nos 3500 primeiros registros
Fabio - Yahoo
frl_br em yahoo.com.br
Seg Ago 20 17:16:26 -03 2007
Edson, não primeiro exemplo esta inner join que você faz i.codigo=v.codigo
me parece ser a fonte do problema, pois você faz com que todos os registros
em v esteja dentro do sub-select para cada passada do ponteiro da consulta.
O segundo me parece que deveria ter funcionado, embora acredito que a
condição v.coligada=13 do update seja desnecessária pois já consta no
sub-select.
Outra coisa e este ORDER BY v.codigo DESC dentro do sub-select, achei
estranho isto não me parece funcional, acho que deveria ser i.codigo.
Tenta assim:
Update veiculo v
Set v.dtultalteracao=CURRENT_TIMESTAMP-1
WHERE v.codigo in (SELECT FIRST 3500 i.codigo
FROM veiculo i
WHERE i.coligada=13
ORDER BY i.codigo DESC);
Abraço,
Fabio R. Limeira
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Edson de Paulo
Enviada em: segunda-feira, 20 de agosto de 2007 16:59
Para: lista em firebase.com.br
Assunto: [firebase-br] Update nos 3500 primeiros registros
Alguém sabe me explicar o motivo dos updates abaixo não terem funcionado?
Tenho 7500 registros de acordo com o meu Where
Quero fazer um update apenas nos 3500 primeiros registros que ele achar.
E nas duas formas abaixo ele setou os 7500.
UPDATE veiculo v
SET v.dtultalteracao = CURRENT_TIMESTAMP - 1
WHERE v.coligada = 13
AND EXISTS (SELECT FIRST 3500 i.codigo
FROM veiculo i
WHERE i.coligada = 13
AND i.codigo = v.codigo
ORDER BY v.codigo DESC);
ou
UPDATE veiculo v
SET v.dtultalteracao = CURRENT_TIMESTAMP - 1
WHERE v.coligada = 13
AND v.codigo IN (SELECT FIRST 3500 i.codigo
FROM veiculo i
WHERE i.coligada = 13
ORDER BY v.codigo DESC);
--
Edson de Paulo
Curitiba - PR
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista