sql >> Base de Datos >  >> RDS >> PostgreSQL

actualizar registros existentes con un entero único

Necesita una clave principal (o una columna única) para actualizar individualmente las filas de una tabla. A falta de dicha columna, puede usar la columna oculta ctid que es único por definición, ejemplo:

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