Simon Riggs wrote:
> On Fri, 2004-07-09 at 20:34, Bruce Momjian wrote:
> > Alvaro Herrera wrote:
> > > On Fri, Jul 09, 2004 at 09:07:58PM +0200, Dennis Bjorklund wrote:
> > > > On Fri, 9 Jul 2004, Alvaro Herrera wrote:
> > > >
> > > > > Clearly savepoints do not allow for a snapshot to be released; nested
> > > > > xacts do.
> > > >
> > > > Why not?
> > >
> > > What is it?
> >
> > Simon posted it. It is called RELEASE:
> >
> > > BEGIN;
> > > SAVEPOINT x1;
> > > INSERT INTO ...;
> > > RELEASE SAVEPOINT x1;
> > > SAVEPOINT x1;
> > > INSERT INTO ...;
> > > RELEASE SAVEPOINT x1;
> > > SAVEPOINT x1;
> > > INSERT INTO ...;
> > > RELEASE SAVEPOINT x1;
>
> Yes, this is the DB2 and SQLAnywhere syntax.
>
> Oracle uses ROLLBACK TO SAVEPOINT...identical pretty much.
I thouht ROLLBACK was different from RELEASE, no? I see ROLLBACK used
in SQL99 for savepoints:
ROLLBACK [ WORK ] [ AND [ NO ] CHAIN ] [ <savepoint clause> ]
RELEASE only discards the savepoint name, I thought.
> Oracle's support of autonomous transactions looks to be identical to
> nested transactions (Alvaro's advice required there...). They don't
> allow you to explicitly call them, but you can use BEGIN/COMMIT in a
> host program that calls a stored procedure, which also contains
> BEGIN/COMMIT, effectively giving nested txns.
Oracle has nested transactions too? Can you supply an example?
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073