Rob Richardson wrote: > Here's what I need to do: > > IF query_check_fails THEN > UPDATE some_table SET some_value = 0 WHERE some_condition_is_true; > RAISE EXCEPTION 'Look, you idiot, do it right next time!'; > END; > > I need the update to work, but I need to raise the exception so the C++ > code recognizes the error. How can I do both? You need an autonomous transaction, which Postgres does not support directly but you can implement using dblink or a plperl function that connects back to the database. -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc.