perl DBI 事务支持

和其它的语言一样, perl DBI对数据库的操作也支持事务处理, 它的实现方式有两个: 一: 在连接数据库的时候就开始一个事务 $dbh = DBI->connect($dataSource, $user, $passwd, {AutoCommit => 0}); 可以看到在连接的时候设置了AutoCommit为false, 也就是说当你对数据库进行更新操作的时候, 它不会自动地把那些更新直接写到数据库里, 而是要程序通过 $dbh->commit来使数据真正地写到数据库里, 或 $dbh->rollback 来回滚刚才的操作 二:通过$dbh->begin_work()语句来开始一个事务 这种方式就不需要在连接数据库的时候设置AutoCommit = 0了, 本人认为这种方式更好, 可以一次数据库连接进行多次事务操作, 不用每一次事务的开始都去连接一次数据库。 示例代码为: $dbh = DBI->connect($dataSource, $user, $passwd, {RaiseError => 1}); $dbh->begin_work eval { foo(…) # do lots of work here bar(…) # including inserts baz(…) # and … Read more