Vì kết xuất nằm trong một giao dịch, bạn sẽ có một cái nhìn nhất quán về tất cả các bảng trong cơ sở dữ liệu. Điều này có lẽ được giải thích tốt nhất bằng một ví dụ ngược lại. Giả sử bạn kết xuất một cơ sở dữ liệu có hai bảng, Orders và OrderLines
- Bạn bắt đầu kết xuất mà không cần một giao dịch nào.
- Một quy trình khác chèn một hàng vào
Ordersbảng. - Một quy trình khác sẽ chèn một hàng vào
OrderLinesbảng. - Kết xuất xử lý
OrderLinesbảng. - Một quy trình khác xóa
OrdersvàOrderLineshồ sơ. - Kết xuất xử lý
Ordersbảng.
Trong ví dụ này, kết xuất của bạn sẽ có các hàng cho OrderLines , nhưng không phải Orders . Dữ liệu sẽ ở trạng thái không nhất quán và sẽ không khôi phục được nếu có khóa ngoại giữa Orders và OrderLines .
Nếu bạn đã thực hiện nó trong một giao dịch duy nhất, kết xuất sẽ không có thứ tự hoặc các dòng (nhưng nó sẽ nhất quán) vì cả hai đều được chèn vào và sẽ bị xóa sau khi giao dịch bắt đầu.