Обсуждение: Begin block

Поиск
Список
Период
Сортировка

Begin block

От
Carol Walter
Дата:
Hello,

I'm very much a Postgres PHP novice. I have a number of queries that
need to be run as a single transaction.  One set of those will only be
run some of the time, but other times will need to be imbedded in
another block.  Can I imbed a begin/commit inside another begin/commit?

Thanks,
Carol

Re: Begin block

От
Raymond O'Donnell
Дата:
On 01/07/2009 18:52, Carol Walter wrote:
> Hello,
>
> I'm very much a Postgres PHP novice. I have a number of queries that
> need to be run as a single transaction.  One set of those will only be
> run some of the time, but other times will need to be imbedded in
> another block.  Can I imbed a begin/commit inside another begin/commit?

Hi there,

I'm not sure about nested transactions, but you can achieve the same
effect with savepoints:

    http://www.postgresql.org/docs/8.4/static/sql-savepoint.html

HTH,

Ray.

------------------------------------------------------------------
Raymond O'Donnell, Director of Music, Galway Cathedral, Ireland
rod@iol.ie
Galway Cathedral Recitals: http://www.galwaycathedral.org/recitals
------------------------------------------------------------------

Re: Begin block

От
Jasen Betts
Дата:
On 2009-07-01, Carol Walter <walterc@indiana.edu> wrote:
> Hello,
>
> I'm very much a Postgres PHP novice. I have a number of queries that
> need to be run as a single transaction.  One set of those will only be
> run some of the time, but other times will need to be imbedded in
> another block.  Can I imbed a begin/commit inside another begin/commit?

No, but perhaps you can fake it using savepoints.

Re: Begin block

От
"Hajek, Nick"
Дата:
> I'm very much a Postgres PHP novice. I have a number of
> queries that need to be run as a single transaction.  One set
> of those will only be run some of the time, but other times
> will need to be imbedded in another block.  Can I imbed a
> begin/commit inside another begin/commit?
>


Nested transactions are not allowed in Postgresql you must use
savepoints.

Nick