[1] tipo=p host=192.168.150.90 port=5432 base=db_diego esquema=public tabla=odusdemo random=no campo=documento user=postgres pwd= [2] tipo=p host=192.168.150.90 port=5432 base=db_diego esquema=public tabla=odusdemo random=no campo=txt,correo user=postgres pwd= drop table odusdemo; CREATE TABLE public.odusdemo ( id serial NOT NULL, txt character varying(50), documento integer, correo character varying(50), PRIMARY KEY (id) ); insert into odusdemo(txt,documento,correo) values ('hola', 27500086, 'diego@daf.com.ar'); insert into odusdemo(txt,documento,correo) values ('chau', 31624187, 'hola@daf.com.ar'); insert into odusdemo(txt,documento,correo) values ('quetal', 55002372, 'bien@daf.com.ar'); insert into odusdemo(txt,documento,correo) values ('comoestas', 50654789,'chau@daf.com.ar'); insert into odusdemo(txt,documento,correo) values ('quetul', 12246789, 'nose@daf.com.ar'); select * from odusdemo ; update public.odusdemo set txt = bis.txt, correo = bis.correo from ( select ori.id, nue.txt, nue.correo from ( SELECT o.id, o.txt, o.correo, row_number() OVER (ORDER BY o.id::varchar) AS iddaf_odusdemosacude FROM public.odusdemo o ) ori inner join ( SELECT p.id, p.txt, p.correo, row_number() OVER (ORDER BY md5(random()::varchar)) AS iddaf_odusdemosacude FROM public.odusdemo p ) nue on nue.iddaf_odusdemosacude = ori.iddaf_odusdemosacude ) bis where odusdemo.id = bis.id; select * from odusdemo ;