ROLLBACK介紹

何謂ROLLBACK
  • 終止交易結束點,針對資料做回滾的動作,假如你對資料做新增,修改,刪除,在下COMMIT之前,你都可以返回剛剛的動作,新增,修改,刪除的資料內容會還原原本資料內容,COMMIT之後就無法對資料做返回
設定保存點
  • 如你可以在同個交易中設定不同的保存點名稱,如果你不想全部返回,只想返回一些資料內容,你可以指定你設定的保存點名稱,返回到那個時間點的交易
格式
ROLLBACK [TO [SAVEPOINT] savepoint];
savepoint:保存點名稱 
使用方式
  • SQL語法示範
修改emp表格資料,修改過後的資料做返回,所以做後結果是資料沒被修改
update emp set salary=1;
rollback; 
  •  SQL語法示範(保存點使用方式)
設定保存點名稱為a,之後新增資料到emp表格,在設定保存點名稱為b,在修改emp表格資料,所以在一個交易中有兩個表存點,這時候做ROLLBACK命令指定保存點名稱為b,資料返回到保存點b交易中,所以資料只有被新增,沒有被修改
savepoint a;
insert into emp select * from employees;
savepoint b;
update emp set salary=1;
rollback to savepoint b;