> I think it would be greatly helpful if the insert...returning could be
> seen as a "select" statement and, thus, being usable in the way I
> have described. I suspect that the insert...returning is actually
> implemented as an inser plus a select.
You can create a function which does the INSERT RETURNING and returns the
result, and use this function in a subsequent INSERT.
You can also write, in plpgsql :
FOR a,b,c IN SELECT ... LOOP
INSERT INTO table1 (...) VALUES (a,b) RETURNING your_id INTO _var;
INSERT INTO table2 (...) VALUES (c , _var );
END LOOP