The following bug has been logged online: Bug reference: 6067 Logged by: David Fetter Email address: dfet...@vmware.com PostgreSQL version: 9.0.4 Operating system: Linux Description: In PL/pgsql, EXISTS(SELECT ... INTO...) fails Details:
Here's some example code that reproduces the problem: CREATE OR REPLACE FUNCTION foo() RETURNS void LANGUAGE plpgsql AS $$ DECLARE i int; BEGIN IF EXISTS (SELECT 1 INTO STRICT i) THEN RAISE NOTICE '%', a; END IF; RETURN; END; $$; ERROR: syntax error at or near "i" LINE 8: IF EXISTS (SELECT 1 INTO STRICT i) THEN ^ This came up in a case where there was an IF block that checked some conditions before checking whether there was a row. If it found a row, it was supposed to use it in an EXCEPTION. Instead, I had to do the query unconditionally, check the FOUND block in a separate nested IF statement, and generally uglify the code. Not everybody in IRC agreed that this is a bug, though. -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs