關於資料庫事務的基本概念,我還弄不明白。

rocknet發表於2004-06-14
有這樣一個例子,給一個班級新增學員,班級只能有50個人,現在要往裡面新增n個學員,查詢和新增要在同一個事務裡完成。
在單機環境下,可以這麼寫:
select count(*) from aClass
if count+n<50 then
insert students to aClass
else
throw Exception
end if
但是在多使用者環境下,是不是就得用到事務了,是不是照搬下來就可以了呢?
Transaction.begin
select count(*) from aClass
if count+n<50 then
insert students to aClass
else
Transaction.rollback
end if
Transaction.commit
這麼簡單嗎?begin、commit、rollback的位置對不對呢?

相關文章