U hebt een primaire sleutel (of een unieke kolom) nodig om rijen van een tabel afzonderlijk bij te werken. Bij het ontbreken van een dergelijke kolom kunt u de verborgen kolom ctid
. gebruiken wat per definitie uniek is, voorbeeld:
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