Sử dụng savepoint
Đồng nghiệp của bạn, Anita, cần giúp đỡ. Cô ấy đã soạn một script sử dụng savepoint nhưng nó không chạy. Script đánh dấu savepoint đầu tiên, savepoint1, rồi chèn dữ liệu của một khách hàng. Sau đó, script đánh dấu một savepoint khác, savepoint2, và lại chèn dữ liệu của một khách hàng khác. Tiếp theo, cả hai savepoint đều được rollback. Cuối cùng, script đánh dấu một savepoint nữa, savepoint3, và chèn dữ liệu của một khách hàng khác.
Anita nói rằng script của cô ấy không chạy vì có một số lỗi, nhưng cô ấy không biết cách sửa. Bạn có thể giúp cô ấy không?
Bài tập này là một phần của khóa học
Giao dịch và Xử lý lỗi trong SQL Server
Hướng dẫn bài tập
- Chạy mã để kiểm tra có lỗi.
- Sửa tất cả các lỗi.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
BEGIN TRAN;
-- Mark savepoint1
savepoint1 SAVE TRAN;
INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');
-- Mark savepoint2
savepoint2 SAVE TRAN;
INSERT INTO customers VALUES ('Zack', 'Roberts', '[email protected]', '555919191');
-- Rollback savepoint2
savepoint2 ROLLBACK TRAN;
-- Rollback savepoint1
savepoint1 ROLLBACK TRAN;
-- Mark savepoint3
savepoint3 SAVE TRAN;
INSERT INTO customers VALUES ('Jeremy', 'Johnsson', '[email protected]', '555929292');
-- Commit the transaction
COMMIT TRAN;