create table sample (s varchar,s1 varchar,s2 varchar,s3 varchar,s4 varchar);
insert into sample values ('A','A','A','A','A');
insert into sample values('AB','AB','A','AB','AB');
insert into sample values('A','AB','A','AB','A');
insert into sample values('CA','A','A','CA','CA');
select * from sample
And try like this
create or replace function f1(_table text,_oldVal text,_newVal text) returns void as
$$
declare
rw record;
begin
for rw in
select 'UPDATE '||$1||' SET '||C.COLUMN_NAME||' = REPLACE ('||C.COLUMN_NAME||','''||$2||''','''||$3||'''); ' QRY
FROM (select column_name from information_schema.columns where table_schema='public' and table_name =$1)c
loop
EXECUTE rw.QRY;
end loop;
end;
$$language plpgsql
And Call
select f1('sample','A','Z')
select * from sample
OR
do
$$
declare
rw record;
begin
for rw in
select 'UPDATE sample SET '||C.COLUMN_NAME||' = REPLACE ('||C.COLUMN_NAME||',''Z'',''A''); ' QRY
FROM (select column_name from information_schema.columns where table_schema='public' and table_name ='sample')c
loop
EXECUTE rw.QRY;
end loop;
end;
$$;
select * from sample