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
Orders
bảng. - Một quy trình khác sẽ chèn một hàng vào
OrderLines
bảng. - Kết xuất xử lý
OrderLines
bảng. - Một quy trình khác xóa
Orders
vàOrderLines
hồ sơ. - Kết xuất xử lý
Orders
bả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.