Обсуждение: Begin block
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
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
------------------------------------------------------------------
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.
> 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