Khi làm việc với các giao dịch cơ sở dữ liệu, các điều kiện có thể (nếu có) có thể gây ra tuyên bố cuối cùng COMMIT
trong giao dịch là gì, giả sử tất cả các câu lệnh trong giao dịch đã được thực thi mà không có vấn đề?Câu lệnh COMMIT (trong SQL) có bao giờ thất bại không? Làm sao?
... Ví dụ giả sử bạn có một số two-phase hoặc three-phase commit protocol nơi bạn làm một loạt các báo cáo, sau đó chờ cho một số quá trình tổng thể để cho bạn biết khi nó là ok để cuối cùng cam kết giao dịch:
-- <initial handshaking stuff>
START TRANSACTION;
-- <Execute a bunch of SQL statements>
-- <Inform master of readiness to commit>
-- <Time passes... background transactions happening while we wait>
-- <Receive approval to commit from master (finally!)>
COMMIT;
Nếu mã của bạn nhận được câu lệnh COMMIT cuối cùng và gửi nó đến DBMS của bạn, bạn có bao giờ gặp lỗi (vấn đề duy nhất, cơ sở dữ liệu đầy đủ, v.v.) tại câu lệnh đó không? Lỗi gì? Tại sao? Chúng xuất hiện như thế nào? Nó có thay đổi tùy thuộc vào DBMS bạn chạy không?
Nếu đây là bài tập về nhà, hãy gắn thẻ như vậy. –
@Bob Jarvis: Wow. Cảm ơn vì đã khiến tôi cảm thấy trẻ hơn rất nhiều! – Russ
Bài tập về nhà không phải là chức năng của tuổi tác. :-) –