En Postgres, puede usar un CTE grabable para actualizar ambas tablas en una sola declaración.
Asumiendo esta configuración de mesa:
create table a (rid integer primary key, ride text, qunta integer);
create table b (kid integer primary key, rid integer references a, date date);
El CTE sería:
with new_a as (
update a
set rid = 110
where rid = 1
)
update b
set rid = 110
where rid = 1;
Dado que las claves foráneas (no diferibles) se evalúan a nivel de instrucción y tanto la clave principal como la foránea se modifican en la misma instrucción , esto funciona.
SQLFiddle:http://sqlfiddle.com/#!15/db6d1/1