Thread: PL/pgSQL: FOUND not set by EXECUTE?
Hello all, I've discovered that in 7.4.2 PL/pgSQL, the FOUND variable is not at all affected by use of the EXECUTE command, even if the statement you pass to EXECUTE would set FOUND to true when run directly. The documentation doesn't really point this out, and in my opinion, it's an unintuitive behaviour. Why would executing the command dynamically make a difference to how FOUND is treated? The statement still "happens" in the end, additional query plan or no. Could someone please clarify? Regards, Brendan Jurd
On 24/05/04, Brendan Jurd (blakjak@blakjak.sytes.net) wrote: > I've discovered that in 7.4.2 PL/pgSQL, the FOUND variable is not at all > affected by use of the EXECUTE command, even if the statement you pass > to EXECUTE would set FOUND to true when run directly. The documentation > doesn't really point this out, and in my opinion, it's an unintuitive > behaviour. Why would executing the command dynamically make a > difference to how FOUND is treated? The statement still "happens" in > the end, additional query plan or no. "FOUND is a local variable; any changes to it affect only the current PL/pgSQL function." HTML manual reference: plpgsql-statements.html#PLPGSQL-STATEMENTS-PERFORM Rory -- Rory Campbell-Lange <rory@campbell-lange.net> <www.campbell-lange.net>