Re: transactions on Postgresql
От | lachesis@ignmail.com (Dave Robinson) |
---|---|
Тема | Re: transactions on Postgresql |
Дата | |
Msg-id | 90af9a8c.0105240502.2fbc2027@posting.google.com обсуждение исходный текст |
Список | pgsql-general |
hicham bouzdad <h.bouzdad@inovaction.com> wrote in message news:<3B0B8A0C.B46AC073@inovaction.com>... > Hi everybody, > > my subject is about : DBI / PostgreSql & Transactions with Perl. > my code is : > > $dbh->{AutoCommit} = 0; #-------- begin of transaction > while (<FILE>) { > ... > $sql = "insert into $table ($col) values ($val)"; > $res = $dbh->do($sql); > } > > $dbh->rollback; #--------- end of transaction > > my problem : if an insert fail, all following insert are aborted :-( > > NB : it's not necessary to me that ALL inserts , will be done > with succes. > my question is : if a BAD insert fail , how can i do for doing > other inserts who may be are GOOD ? > > thanks a lot for help ;-) You want to look at wrapping your do statement into an eval block you can then capture the insert death in $@ i.e. eval{ $res = $dbh->do($sql); }; if ($@){ #if the do failed - do whatever logging/checking you want }
В списке pgsql-general по дате отправления: