14.15 トランザクションを使用する

$dbh->{AutoCommit} = 0; # トランザクションを有効にする。
$dbh->{RaiseError} = 1; クエリに問題がある場合は、dieを呼び出す。

eval {
  # ここで挿入、更新、削除、問い合わせなどを行う。
  $dbh->commit();
};

if ($@) {
  warn "Transaction aborted: $@;
  eval { $dbh->rollback();  # rollback()が失敗した場合には、
  # ここでアプリケーションのクリーンアップをを行う。
}