Andrew Dunstan <andrew@dunslane.net> writes:
> Tom Lane wrote:
>> Can anyone check how well the syntax of plpgsql EXCEPTION, as described
>> at
>> http://developer.postgresql.org/docs/postgres/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
>> agrees with what Oracle does?
> It appears you can have multiple exceptions in a single handler, but
> that the separator is 'OR' rather than ','.
> See
> http://www.cise.ufl.edu/help/database/oracle-docs/appdev.920/a96624/13_elems17.htm
Got it. We can do that.
> The page also gives a link to a list of the predefined exceptions.
Hmm. Not only is that a pretty short list, but many of them don't
correspond very closely to the errors that Postgres would raise.
Maybe we should just forget about trying to be compatible with Oracle's
condition names. That still leaves us with needing to decide what our
condition names should be, though.
One thing that just occurred to me is that we should accept the category
names (in errcodes.h, the exceptions with '000' as the last three digits
of the code) as matching any exception in their category.
> PL/SQL allows users to define and raise their own exceptions too.
Yeah. Our RAISE statement really needs a lot of work, but I think it
will have to be left for a future release cycle ...
regards, tom lane