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

atualizando registros existentes com um inteiro único


Você precisa de uma chave primária (ou uma coluna exclusiva) para atualizar individualmente as linhas de uma tabela. Na falta de tal coluna, você pode usar a coluna oculta ctid que é único por definição, exemplo:
update foo f
set ver = rn
from (
    select ctid, row_number() over (order by ctid) as rn
    from foo
    ) s
where f.ctid = s.ctid