Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Q: "Autorollback" after raise_application_error()
Hi,
Thomas Kyte wrote:
>
> A copy of this was sent to Gombos Bertalan <bgombos_at_freemail.c3.hu>
> (if that email address didn't require changing)
> On Thu, 28 Oct 1999 16:48:37 +0200, you wrote:
>
> >Hi all,
> >
> > When I call a stored procedure from OCI, Oracle generates a savepoint to
> >begin of the procedure. If I issue a raise_application_error() and this
> >error reaches the caller environment (Power Builder), Oracle gives a
> >rollback to the former savepoint.
> > Is it possible to prevent Oracle from rollbacking?
> >
> >Bye:
>
> catch the exception in the stored procedure and handle it there. If the
> exception is allowed to propagate to the top level -- the work is (correctly)
> rolled back. If you catch and handle the exception (eg: Ignoring it is one way
> of 'handleing' it), then the client will not rollback to savepoint since the
> procedure was 'successful'.
My question is misunderstood. I do want to keep the updates performed
within the scope of the procedure by which the exception is raised. I want
to make it the caller's (PowerBuilder) responsibility to decide, whether to
commit or rollback. I do not want to use any other communication method
between PL/SQL and PowerBuilder, because the concerned stored procedures are
also invoked by other system components (out of my control).
Bye:
--
.---, G o m b o s B e r t a l a n : : :---'-. ,---. ,--. ,-.-. rendszerfejleszto, Oracle mernok : : :-- : ; mailto:bgombos_at_freemail.c3.hu ,' '---' '---' ' `-' -- : ------------------------- Az elet megis egy habostorta? --- '10^2-1Received on Fri Oct 29 1999 - 07:04:36 CDT