Re: Transaction processing from a Perl script....

Поиск
Список
Период
Сортировка
От Björn Lundin
Тема Re: Transaction processing from a Perl script....
Дата
Msg-id ak3hvl$1ks6$1@news.hub.org
обсуждение исходный текст
Ответы Re: Transaction processing from a Perl script....  (Geraint Jones <geraint.jones@meirion-dwyfor.ac.uk>)
Re: Transaction processing from a Perl script....  (Arguile <arguile@lucentstudios.com>)
Список pgsql-general
Issue the exec procedure with like

Exec("Begin Work")
Exec("insert into child table 1 ")
Exec("insert into child table 2 ")
Exec("insert into the master table")
Exec("Commit")
check result of commit,
if not everything is ok
Exec("Rollback")

I dont know the exact Perl syntax, but this is how I would go about to do
it...

/Björn

Greg Patnude wrote:

> Ok.... I can connect to my postgreSQL database with Autocommit=>0 to set
> up for a transaction-based process...I'm using Perl 5.6 and Pg 1.9 on a
> FreeBSD 4.x box with postgreSQL 7.2.
>
> The question is HOW should I go about managing the transaction itself from
> within my Perl script... I need to {pseudo}:
>
> --begin work
> --insert into child table 1 (and return the new primary key pk1)
> --insert into child table 2 (and retrun the new primary key pk2)
> --insert into the master table (child 1 pk, child 2 pk) and return the
> master primary key pkm
> --commit work if everything is ok
> --else rollback if anything failed.
>
> Usually, this kind of thing is handled by the connect method (I've
> typically used Oracle, Sybase, or SQL Server with VB, C, or Powerbuilder)
> and the
> {begin {process}{commit or rollback}} is managed by the connect method
> defined in the application. Pg has no such mechanism that I could find in
> the Pg docs...
>
> Any ideas anyone ???
>
> TIA
>
> GP


В списке pgsql-general по дате отправления:

Предыдущее
От: Robert Treat
Дата:
Сообщение: Re: Installing Booktown Schema
Следующее
От: "Linn Kubler"
Дата:
Сообщение: Formatting date question