Perhaps it could be explicitly stated on that page, then? Part of the
confusion arises from the semantic differences between SELECT INTO and
CREATE TABLE AS SELECT solely as used within PL/pgSQL, which is exacerbated
for people coming from a different SQL variant, such as T-SQL. I agree that
the documentation is explicit regarding which statements are supported for
FOUND, but this would be the explicit enumeration of a case where it is not
that has enough overlap with the supported cases as to potentially lead to
confusion. I do not think such could possibly detract from the
documentation in any way.

On Sat, Nov 4, 2023 at 10:16 AM Tom Lane <t...@sss.pgh.pa.us> wrote:

> PG Doc comments form <nore...@postgresql.org> writes:
> > Since I was recently bitten by the fact that CREATE TABLE AS doesn't set
> the
> > PL/pgSQL variable FOUND, it would be nice if that were explicitly noted
> in
> > the documentation.  Alternatively, if it COULD set the FOUND variable,
> that
> > would be great, although I realize the difficulty of that when coupled
> with
> > IF NOT EXISTS.
>
> The documentation of FOUND is already quite explicit about which kinds
> of statements set it:
>
>
> https://www.postgresql.org/docs/current/plpgsql-statements.html#PLPGSQL-STATEMENTS-DIAGNOSTICS
>
> I'm disinclined to put notes about PL/pgSQL features into command
> reference pages that have nothing to do with PL/pgSQL.
>
>                         regards, tom lane
>

Reply via email to