On Tue, 2004-01-13 at 13:34, scott.marlowe wrote:
> On Tue, 13 Jan 2004, Joshua D. Drake wrote:
>
> > Thapliyal, Deepak wrote:
> >
> > >Hi,
> > >
> > >Assume I have a bank app.. When customer withdraws $10 from his accouint I
> > >have to do following
> > > --> update account_summary table [subtract $10 from his account]
> > > --> update account detail_table [with other transaction details]
> > >
> > >Requirement:
> > > either both transactions should succeed or both transactions should
> > >be rolled back in case of failure.
> > >
> > >Question:
> > > if my first update succeeds and second fails (say due to space
> > >errors .. I have inconsistancy ..
> > >
> > >
> >
> > Not if you run the queries as a single transaction.
> >
> >
> > >Per the thread below stored procedures/functions cannot have commits. I
> > >assume that means that they will be implicitly commited ??
> > >
> > >How do I approach this simple requirment using psql ?
>
> Joshua, aren't functions run within their own transactions if they don't
> inherit one? Wouldn't that take care of this part as well?
>
sort of... in order to call a function you have to do "select foo()"
which creates an implicit transaction block based on the select
statement that commits when the "select statement" finishes and
everything within foo will be treated as a single transaction.
Robert Treat
--
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL