Re: Exception handling - Mailing list pgsql-general

From Stephan Szabo
Subject Re: Exception handling
Date
Msg-id 20080604113808.B75823@megazone.bigpanda.com
Whole thread Raw
In response to Exception handling  (sam <sam.mahindrakar@gmail.com>)
List pgsql-general
On Wed, 4 Jun 2008, sam wrote:

> Can someone explain me about the exception handling in postgresql. Iam
> not understanding the scope of a exception block. The exact confusion
> that iam facing is as follows:
> I have a procedure as follows
> BEGIN
> EXECUTE an update statement
>
> EXECUTE an insert statement
> EXCEPTION WHEN integrity_conatraint_violation THEN
> RAISE NOTICE
> END;
>
> This procedure is called within another procedure. Now when an
> exception is caught the updates are also getting rolled back. I need
> the exception block to work only for the insert statement. But if i
> dont write the exception block the whole program stops.
> Any suggestions?

I think you're looking for something like:

BEGIN
 EXECUTE an update
 BEGIN
  EXECUTE an insert
  EXCEPTION WHEN ...
   RAISE NOTICE ...
 END;
END;

The exception when is effectively associated with the block.



pgsql-general by date:

Previous
From: sam
Date:
Subject: Exception handling
Next
From: "Rob Richardson"
Date:
Subject: Slow access to remote database