2008年11月20日 星期四

[Oracle] 交易控制初探

何謂交易? 這一篇文章寫得不錯,可以參考一下…

在 Oracle 中,控制交易的敘述有三個,分別為:

COMMIT

保存對資料的所有更動,清除交易中所有的 savepoint,並釋放對交易的鎖定。

ROLLBACK

復原目前交易中已經完成的工作,也就是最後一次的 COMMIT 之後所有的對資料的變更都會被回復。

SAVEPOINT

可以讓使用者自訂復原的點,這可以讓 ROLLBACK 不會一次全作,而是只復原到特定的點。

關於 COMMIT 與 ROLLBACK 的使用,其實就是加在要 COMMIT 或是 ROLLBACK 的地方就可以了!

比較特殊的是 SAVEPOINT,以下簡單介紹 SAVEPOINT 的用法。

首先先搜尋 counties 中的資料:

接著執行以下 SQL 指令:

由結果可以很明顯看到,在 SAVEPOINT Belgium 之後被更改的資料都被還原囉!

沒有留言:

張貼留言