Richard Huxton <dev@archonet.com> writes:
> There are two things (AFAICT) you need to be able to do to update (NOTE
> - not insert) a view.
> 1. Identify the underlying table(s) for the updated column(s)
> 2. Identify (primary) key values for the table(s) being updated.
> So - I could have a join listing users and how many email aliases they
> have (so sum()) and still update their name, so long as the key for the
> users table was present in the view.
No; you'd also have to have some guarantee that a given underlying table
row gives rise to at most one join row. If the same table row gives
rise to multiple join rows, then a request specifying an UPDATE of just
one of those join rows can't be satisfied.
regards, tom lane