http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com Transaction SQLite Transaction SQLite đơn vị công việc thực Database Transaction đơn vị dãy công việc thực theo thứ tự logic hợp lý, thao tác người dùng Database program Một transaction lan truyền nhiều thay đổi tới Database Ví dụ, bạn tạo ghi cập nhật ghi xóa ghi từ bảng, bạn thực transaction bảng Nó quan trọng để điều khiển transaction để bảo đảm toàn vẹn liệu để xử lý Database Error Thực tế, bạn tập hợp nhiều truy vấn SQLite vào nhóm thực thi tất truy vấn với phần transaction Property Transaction SQLite Transaction có property chuẩn, thường tham chiếu tên lược danh ACID: • Atomicity: bảo đảm tất hoạt động bên đơn vị công việc hồn thành cách thành cơng; khơng, transaction bị ngừng điểm thất bại, hoạt động trước trao trả trạng thái trước • Consistency: bảo đảm Database thay đổi cách xác trạng thái theo transaction ký thác thành cơng • Isolation: cho transaction khả hoạt động cách độc lập không liên quan đến • Durability: bảo đảm kết tác động transaction, mà ký thác, tồn trường hợp hệ thống thất bại Điều khiển Transaction SQLite Trong SQLite, có lệnh sau sử dụng để điều khiển transaction: • BEGIN TRANSACTION: Để bắt đầu Transaction • COMMIT: để lưu thay đổi, bạn thể sử dụng lệnh END TRANSACTION để thay • ROLLBACK: để quay trở lại trạng thái trước có thay đổi http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com Các lệnh điều khiển transaction sử dụng với lệnh INSERT, UPDATE DELETE Chúng sử dụng tạo xóa bảng, hoạt động ký thác tự động Database Lệnh BEGIN TRANSACTION SQLite Các Transaction bắt đầu sử dụng lệnh BEGIN TRANSACTION để đơn giản bạn sử dụng BEGIN Những Transaction thường tồn tới gặp lệnh COMMIT ROLLBACK Nhưng Transaction ROLLBACK sở liệu bị đóng xuất lỗi Sau cú pháp để khởi đầu Transaction: BEGIN; or BEGIN TRANSACTION; Lệnh COMMIT SQLite Lệnh COMMIT lệnh điều khiển transaction sử dụng để lưu thay đổi triệu hồi transaction tới Database Lệnh COMMIT lưu giữ tất transaction Database từ lệnh COMMIT ROLLBACK cuối Cú pháp lệnh COMMIT sau: COMMIT; or END TRANSACTION; Lệnh ROLLBACK SQLite Lệnh ROLLBACK lệnh điều khiển transaction sử dụng để trao trả transaction trạng thái trước có thay đổi mà chưa lưu tới Database Lệnh ROLLBACK sử dụng để undo transaction từ lệnh COMMIT ROLLBACK cuối thông báo Cú pháp lệnh ROLLBACK sau: ROLLBACK; Ví dụ Bạn theo dõi bảng COMPANY có ghi sau: http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/sqlite/index.jsp Copyright © vietjack.com ID -California Teddy Rich-Mond Kim Houston NAME -20000.0 23 65000.0 22 10000.0 AGE ADDRESS Allen Norway 20000.0 David South-Hall 45000.0 SALARY -Paul 32 25 Texas Mark 27 Texas James -15000.0 25 85000.0 24 Bây giờ, bắt đầu Transaction xóa ghi từ bảng có age = 25 sau sử dụng lệnh ROLLBACK để undo lại tất thay đổi sqlite> BEGIN; sqlite> DELETE FROM COMPANY WHERE AGE = 25; sqlite> ROLLBACK; Nếu bạn kiểm tra bảng COMPANY, bạn thấy ghi sau: ID -California Teddy Rich-Mond Kim Houston NAME -20000.0 23 65000.0 22 10000.0 AGE ADDRESS Allen Norway 20000.0 David South-Hall 45000.0 SALARY -Paul 32 25 Texas Mark 27 Texas James -15000.0 25 85000.0 24 Bây giờ, bắt đầu Transaction khác xóa ghi từ bảng có age = 25, cuối sử dụng lệnh COMMIT để ký thác tất thay đổi sqlite> BEGIN; sqlite> DELETE FROM COMPANY WHERE AGE = 25; sqlite> COMMIT; Nếu bạn kiểm tra bảng COMPANY lần nữa, bạn thấy ghi sau: ID -California David South-Hall NAME -20000.0 27 45000.0 AGE ADDRESS SALARY - Paul 32 Teddy 23 Norway Texas 85000.0 Kim James 24 Houston -20000.0 22 10000.0 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí ... Lệnh BEGIN TRANSACTION SQLite Các Transaction bắt đầu sử dụng lệnh BEGIN TRANSACTION để đơn giản bạn sử dụng BEGIN Những Transaction thường tồn tới gặp lệnh COMMIT ROLLBACK Nhưng Transaction. .. đầu Transaction: BEGIN; or BEGIN TRANSACTION; Lệnh COMMIT SQLite Lệnh COMMIT lệnh điều khiển transaction sử dụng để lưu thay đổi triệu hồi transaction tới Database Lệnh COMMIT lưu giữ tất transaction. .. ROLLBACK cuối Cú pháp lệnh COMMIT sau: COMMIT; or END TRANSACTION; Lệnh ROLLBACK SQLite Lệnh ROLLBACK lệnh điều khiển transaction sử dụng để trao trả transaction trạng thái trước có thay đổi mà chưa