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....
Re: Transaction processing from a Perl script.... |
Список | 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 по дате отправления: