11. ROLLBACK, COMMIT
ROLLBACK
ROLLBACK เป็นคำสั่งที่ใช้ในยกเลิกการทำงานของคำสั่งที่ส่งผ่านไปก่อนหน้านี้
เช่น การส่งคำสั่งเพื่อลบข้อมูลบน table employee (DELELET * FROM employee;)
แล้วต้องการยกเลิกการลบข้อมูล ทำได้โดยใช้คำสั่ง ROLLBACK ทันทีภายหลังคำสั่ง
DELETE ผลจากการใช้คำสั่ง ROLLBACK จะทำให้ได้ข้อมูลที่ลบด้วยคำสั่ง DELETE
กลับคืนมา
ไวยากรณ์
ROLLBACK;
ROLLBACK มีข้อจำกัด คือ ไม่สามารถเรียกกลับทรานแซคชันที่เกิดจากคำสั่ง
DROP (TABLE, INDEX), ALTER (TABLE, USER), CREATE (TABLE, VIEW)
COMMIT
ตามปกติระบบฐานข้อมูล RDBMS จะไม่ยืนยันการทำงานทรานแซคชันอย่างอัตโนมัติ
คือ เมื่อป้อนคำสั่ง INSERT, UPDATE, DELETE แล้ว โปรแกรมจะรอเวลาระยะหนึ่งตามที่กำหนดไว้
แล้วทำการยืนยันการเปลี่ยนแปลงด้วยการ COMMIT ทรานแซคชัน ที่ส่งเข้ามาในระบบ
แต่สามารถทำการ COMMIT ทรานแซคชันได้ทันที แต่จะไม่สามารถ ROLLBACK ได้
ไวยากรณ์
COMMIT;
ข้อดีในการใช้คำสั่ง COMMIT ช่วยให้ข้อมูลของทรานแซคชันสมบูรณ์ และมีประโยชน์กรณีที่เครื่องคอมพิวเตอร์ที่เก็บฐานข้อมูลเสียหาย
ระบบจัดการฐานข้อมูลสามารถ recovery การทำงานของทรานแซคชันได้ถูกต้อง
|