一個交易可對資料庫執行一個或多個的動作(例如:DML指令)
交易時,一定是整個指令一起成功或整個指令一起失敗,這是為了維護資料的一致性
如果整個一起成功,會對資料庫做commit處理
如果整個一起失敗,會對資料庫做rollback處理
COMMIT:結束當前交易並變更資料從暫存狀態到永久狀態至資料庫
ROLLBACK:結束當前交易並放棄暫存的資料
我們用Person這個table來做範例
ROLLBACK範例
BEGIN TRANSACTION
INSERT INTO Person VALUES(3, 'Kevin', 'Lee', '101 Kingsford street', 'EDEN MT', 19);
INSERT INTO Person VALUES(4, 'Dahis', 'Kidd', '9 Hillcrest ave', 'MILLY', 30);
select * from Person
rollback
select * from Person
commit範例
BEGIN TRANSACTION
INSERT INTO Person VALUES(3, 'Kevin', 'Lee', '101 Kingsford street', 'EDEN MT', 19);
INSERT INTO Person VALUES(4, 'Dahis', 'Kidd', '9 Hillcrest ave', 'MILLY', 30);
select * from Person
commit
select * from Person