Thread: problems with transactions
I'm having problems opening a transaction through perl DBI When I try to execute "begin work" using the DBI prepare and execute functions I get an error: $sth = $dbh->prepare("begin work"); $sth->execute(); returns this error when I run the perl script from a prompt: please use DBI functions for transaction handling at /usr/lib/perl5/site_perl/5. 005/i386-linux/DBD/Pg.pm line 114, <STDIN> chunk 2. Can't call method "execute" on an undefined value after seeing this I assumed that you just can't use the begin statement accross the DBI but there has to be a way of opening a transaction (it even says so in the error I got) ... I'm just not sure how. can someone please shed some light on this... I've looked through the archives but didn't find anything constructive. Thanks Scott
On Thu, Aug 31, 2000 at 09:43:52AM -0300, Campbell, Scott wrote: > > $sth = $dbh->prepare("begin work"); > $sth->execute(); > [snip error] > > after seeing this I assumed that you just can't use the begin statement > accross the DBI but there has to be a way of opening a transaction (it even > says so in the error I got) ... I'm just not sure how. > > can someone please shed some light on this... I've looked through the > archives but didn't find anything constructive. man DBI Look for the section on AutoCommit, and the section on Transactions will also be useful. One sentence summary: Make sure autocommit is off, transactions are begun automatically, and ended with commit or rollback. Jules