How to return when inserting into multiple tables as part of a views on inert rule
Model. 

Insert data into two tables via view with returning some field values.

Test tables:

create table test1 (id int, val int);
create table test2 (id int, val int);


View:

create view total 
as
select t1.id, t1.val val1, t2.val val2
from test1 t1
join test2 t2 on t1.id = t2.id;


Trigger function and trigger which inserts data into tables:

create function fninsert()
returns trigger as $fninsert$
begin
insert into test1 values (new.id, new.val1);
insert into test2 values (new.id, new.val2);
return new;
end;
$fninsert$ LANGUAGE plpgsql;

create trigger trinsert
instead of insert on total
for each row
execute procedure fninsert();


Rule which returns inserted values:

create rule r_insert as 
on insert to total
do also
select new.val1, new.val2;


Demo fiddle.