The list of columns can only apply to the table you've just named - that's the only thing that makes sense.

That's true for a SELECT from a single table, too, but the qualified syntax is allowed there. Also, this is allowed:

  # update testtab set b = testtab.b * 3;

But this isn't:

  # update testtab set testtab.b = testtab.b * 3;

Arguably a tad inconsistent. I don't know what the OP's rationale was, but I can imagine that allowing the syntax on INSERT might simplify the generation of SQL in certain circumstances. There's also the Principle of Least Surprise, etc.

- John D. Burger
  MITRE


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

Reply via email to