dbh['AutoCommit'] = false
begin
dbh.do("UPDATE account SET balance = balance - 50 WHERE name = 'bill'")
dbh.do("UPDATE account SET balance = balance + 50 WHERE name = 'bob'")
dbh.commit
rescue
puts "transaction failed"
dbh.rollback
end
dbh['AutoCommit'] = true
begin
dbh.do("UPDATE account SET balance = balance - 50 WHERE name = 'bill'")
dbh.do("UPDATE account SET balance = balance + 50 WHERE name = 'bob'")
dbh.commit
rescue
puts "transaction failed"
dbh.rollback
end
dbh['AutoCommit'] = true
모든 헬퍼의 시작 : http://www.kitebird.com/articles/ruby-dbi.html
tranction 은 연속된 update나 delete와 같이 일련의 작업을 진행할때
반드시 사용해야하는 구문입니다.
사실 이런 자질구래한 설명은 위에 URL에 나와있습니다. 쩝~