PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Atualizar registros que satisfaçam uma condição com número incrementado


Esse é um caso de uso típico para o row_number() window function.Supondo que sua tabela principal seja T, esta consulta deve funcionar com o postgresql 8.4 ou mais recente:
update T set local_id=s.rn 
from (select id,row_number() over(order by id) as rn from T where local_site_id=2) s
 where T.id=s.id;