Điểm lưu trữ mysql
Trong chương trình này, chúng ta sẽ thảo luận về các giao dịch trong PL/SQL. Một giao dịch cơ sở dữ liệu là một đơn vị công việc nguyên tử có thể bao gồm một hoặc nhiều câu lệnh SQL liên quan. Nó được gọi là nguyên tử vì các sửa đổi cơ sở dữ liệu do các câu lệnh SQL tạo thành một giao dịch mang lại có thể được cam kết chung, tức là được thực hiện vĩnh viễn với cơ sở dữ liệu hoặc được phục hồi (
Một câu lệnh SQL đã được thực thi thành công và một giao dịch đã cam kết không giống nhau. Ngay cả khi một câu lệnh SQL được thực thi thành công, trừ khi giao dịch chứa câu lệnh được cam kết, nó có thể được khôi phục và tất cả các thay đổi được thực hiện bởi (các) câu lệnh có thể được hoàn tác Show Bắt đầu và kết thúc Giao dịchMột giao dịch bắt đầu và kết thúc. Giao dịch bắt đầu khi một trong các sự kiện diễn ra sau đây
Giao dịch kết thúc khi một trong các sự kiện diễn ra sau đây
Xác nhận (cam kết) một giao dịchMột giao dịch được thực hiện vĩnh viễn bằng cách đưa ra lệnh SQL COMMIT. Cú pháp chung cho lệnh COMMIT là LÀM; Ví dụ, CHÈN VÀO KHÁCH HÀNG (ID,TÊN,AGE,ADDRESS,SALARY) GIÁ TRỊ (1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ); CHÈN VÀO KHÁCH HÀNG (ID,TÊN,AGE,ADDRESS,SALARY) GIÁ TRỊ (2, 'Khilan', 25, 'Delhi', 1500.00 ); CHÈN VÀO KHÁCH HÀNG (ID,TÊN,AGE,ADDRESS,SALARY) GIÁ TRỊ (3, 'kaushik', 23, 'Kota', 2000.00 ); CHÈN VÀO KHÁCH HÀNG (ID,TÊN,AGE,ADDRESS,SALARY) GIÁ TRỊ (4, 'Chaitali', 25, 'Mumbai', 6500.00 ); CHÈN VÀO KHÁCH HÀNG (ID,TÊN,AGE,ADDRESS,SALARY) GIÁ TRỊ (5, 'Hardik', 27, 'Bhopal', 8500.00 ); CHÈN VÀO KHÁCH HÀNG (ID,TÊN,AGE,ADDRESS,SALARY) GIÁ TRỊ (6, 'Komal', 22, 'MP', 4500.00 ); CAM KẾT; Rollback giao dịchCác thay đổi được thực hiện đối với cơ sở dữ liệu không có CAM KẾT có thể được hoàn thành bằng lệnh ROLLBACK Cú pháp chung cho lệnh ROLLBACK là QUAY LẠI [TO SAVEPOINT < savepoint_name>]; Khi một giao dịch bị hủy bỏ do một số vấn đề chưa từng có, chẳng hạn như lỗi hệ thống, toàn bộ giao dịch kể từ khi cam kết sẽ tự động được khôi phục. Nếu bạn không sử dụng savepoint , thì chỉ cần sử dụng câu lệnh sau để khôi phục tất cả các thay đổi QUAY LẠI; Điểm lưu trữSavepoints là loại điểm đánh dấu giúp chia một giao dịch dài thành các đơn vị nhỏ hơn bằng cách thiết lập một số điểm kiểm tra. Bằng cách thiết lập các điểm lưu trong một giao dịch dài, bạn có thể quay lại điểm kiểm tra nếu cần. Điều này được thực hiện bằng cách sử dụng lệnh SAVEPOINT Cú pháp chung cho lệnh SAVEPOINT là SAVEPOINT < savepoint_name >; Ví dụ CHÈN VÀO KHÁCH HÀNG (ID,TÊN,AGE,ADDRESS,SALARY) GIÁ TRỊ (7, 'Rajnish', 27, 'HP', 9500.00 ); CHÈN VÀO KHÁCH HÀNG (ID,TÊN,AGE,ADDRESS,SALARY) GIÁ TRỊ (8, 'Riddhi', 21, 'WB', 4500.00 ); SAVEPOINT sav1;
CẬP NHẬT KHÁCH HÀNG ĐẶT LƯƠNG = LƯƠNG + 1000; QUAY LẠI VỀ sav1;
CẬP NHẬT KHÁCH HÀNG ĐẶT LƯƠNG = LƯƠNG + 1000 ID WHERE = 7; CẬP NHẬT KHÁCH HÀNG ĐẶT LƯƠNG = LƯƠNG + 1000 ID WHERE = 8; CAM KẾT; ROLLBACK TO sav1 - Lệnh này quay trở lại tất cả các thay đổi cho đến thời điểm mà bạn đã đánh dấu savepoint sav1 Sau đó, những thay đổi mới mà bạn thực hiện sẽ bắt đầu Kiểm tra giám sát giao dịch tự độngĐể thực hiện COMMIT tự động bất kể khi nào lệnh INSERT, UPDATE hoặc DELETE được thực thi, bạn có thể đặt biến môi trường AUTOCOMMIT là AUTOCOMMIT |