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