Sự khác biệt giữa CAM KẾT và ROLLBACK trong SQL

Tác Giả: Laura McKinney
Ngày Sáng TạO: 1 Tháng Tư 2021
CậP NhậT Ngày Tháng: 12 Có Thể 2024
Anonim
Sự khác biệt giữa CAM KẾT và ROLLBACK trong SQL - Công Nghệ
Sự khác biệt giữa CAM KẾT và ROLLBACK trong SQL - Công Nghệ

NộI Dung


CAM KẾT ROLLBACK, là hai báo cáo giao dịch được sử dụng để thực hiện hoặc hoàn tác các giao dịch. Một giao dịch có thể có một chuỗi các truy vấn hoặc nó có thể có các câu lệnh cập nhật sửa đổi cơ sở dữ liệu. Sự khác biệt cơ bản giữa CAMIT và ROLLBACK nằm ở hoạt động của họ. Nếu giao dịch được thực hiện thành công sau đó, CAM KẾT tuyên bố cho phép sửa đổi được thực hiện bởi giao dịch trong cơ sở dữ liệu để trở thành vĩnh viễn. Mặt khác, nếu giao dịch vì lý do nào đó thực hiện thành công thì CUỘN tuyên bố hoàn tác tất cả các cập nhật, ngay từ tuyên bố đầu tiên của giao dịch hiện tại.

Chúng ta hãy thảo luận về sự khác biệt giữa các câu lệnh Commit và ROLLBACK trong SQL với sự trợ giúp của biểu đồ so sánh được hiển thị bên dưới.


  1. Biểu đồ so sánh
  2. Định nghĩa
  3. Sự khác biệt chính
  4. Phần kết luận

Biểu đồ so sánh

Cơ sở để so sánhCAM KẾTCUỘN
Căn bảnCAM KẾT xác nhận các sửa đổi được thực hiện bởi giao dịch hiện tại.ROLLBACK xóa các sửa đổi được thực hiện bởi giao dịch hiện tại.
Hiệu ứngSau khi thực hiện câu lệnh CAMIT, giao dịch không thể là ROLLBACK.Khi ROLLBACK được thực thi cơ sở dữ liệu đạt đến trạng thái trước đó, tức là trước khi thực hiện câu lệnh đầu tiên của giao dịch.
Tần suất xảy raCAM KẾT xảy ra khi giao dịch được thực hiện thành công.ROLLBACK xảy ra khi giao dịch bị hủy bỏ ở giữa thực thi.
Cú phápCAM KẾT;ROLLBACK;

Định nghĩa của CAM KẾT

CAM KẾT là một câu lệnh SQL, báo hiệu thành công hoàn thành một giao dịch. Bất cứ khi nào một giao dịch hoàn thành việc thực hiện mà không có bất kỳ gián đoạn nào, các sửa đổi được thực hiện cho cơ sở dữ liệu, bởi giao dịch sẽ trở thành vĩnh viễn. Điều đó có nghĩa là cơ sở dữ liệu không thể lấy lại trạng thái trước đó, trước khi thực hiện tuyên bố đầu tiên của giao dịch.


Cú pháp của câu lệnh CAMIT như sau:

CAM KẾT;

Khi tuyên bố cuối cùng của giao dịch kết thúc, giao dịch trở thành cam kết một phần. Tiếp theo, giao thức phục hồi đảm bảo rằng ngay cả một lỗi hệ thống, sẽ không thể không có cơ sở dữ liệu, để sửa đổi vĩnh viễn. Ngay sau khi điều này được kiểm tra, điểm cam kết của giao dịch đã đạt được và cuối cùng giao dịch được đưa vào cam kết nhà nước. Khi giao dịch chuyển sang trạng thái đã cam kết, nó không thể được khôi phục và giao dịch mới bắt đầu.

Định nghĩa của ROLLBACK

Giống như CAM KẾT, CUỘN cũng là một câu lệnh SQL và nó báo hiệu rằng giao dịch có không phải đã được hoàn thành thành công. Do đó, giao dịch là đã hủy bỏ để hoàn tác các thay đổi được thực hiện bởi giao dịch. Sau khi thực hiện ROLLBACK, không có sửa đổi, được thực hiện bởi giao dịch hiện tại vẫn được giữ lại.

Cú pháp của ROLLBACK như sau:

ROLLBACK;

Giao dịch ROLLBACK trở nên cần thiết nếu xảy ra lỗi trong quá trình thực hiện giao dịch. Lỗi có thể là lỗi hệ thống, mất điện, lỗi trong các báo cáo giao dịch, sự cố hệ thống. Trong trường hợp mất điện hoặc sự cố hệ thống, ROLLBACK xảy ra khi hệ thống khởi động lại. ROLLBACK chỉ có thể xảy ra nếu CAMIT chưa được thực thi.

  1. Sự khác biệt chính giữa các câu lệnh COMMIT và ROLLBACK của SQL là việc thực thi câu lệnh COMMIT làm cho tất cả các sửa đổi được thực hiện bởi giao dịch hiện tại trở thành vĩnh viễn. Mặt khác, việc thực hiện ROLLBACK xóa tất cả các sửa đổi được thực hiện bởi giao dịch hiện tại.
  2. Khi tuyên bố CAMIT đã thực hiện sửa đổi được thực hiện bởi giao dịch không thể là ROLLBACK. Tuy nhiên, một khi câu lệnh ROLLBACK được thực thi, cơ sở dữ liệu sẽ đạt đến trạng thái trước đó.
  3. CAM KẾT được thực hiện khi thực hiện thành công các báo cáo giao dịch. Tuy nhiên, ROLLBACK được thực thi khi giao dịch không được thực hiện thành công.

Phần kết luận:

Để đảm bảo rằng các thay đổi được thực hiện bởi giao dịch được lưu vĩnh viễn trong cơ sở dữ liệu, hãy sử dụng CAM KẾT sau khi giao dịch hoàn thành thành công. Trong trường hợp giao dịch phải đối mặt với bất kỳ lỗi nào trong khi thực hiện sau đó để hoàn tác các thay đổi được thực hiện bởi giao dịch, ROLLBACK được sử dụng.