Tôi nhận được các hàng theo thứ tự khác nhau khi tôi sử dụngTại sao "SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED" trả về các hàng theo thứ tự khác nhau?
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
trong quy trình được lưu trữ của tôi.
Dưới đây là truy vấn được xác định trong quy trình được lưu trữ.
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT CaseRateDetailId,AmtPerWeek
FROM CaseRateDetails
WHERE CaseRateInfoId = @CaseRateInfoId
Nó trả AmtPerWeek như thế này:
10000,15000,5000,20000,25000,..
Khi tôi chạy cùng một truy vấn mà không sử dụng
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
tuyên bố nó sẽ trả về các hàng theo thứ tự đúng nghĩa 5000,10000,15000,20000,25000,....
Tôi có thể sử dụng thứ tự theo mệnh đề AmtPerWeek trong truy vấn trên nhưng tôi muốn biết lý do tại sao nó hoạt động như thế này? Tại sao nó thay đổi thứ tự của các hàng?
Không có ** thứ tự ** chính xác nào nếu không có đơn hàng theo mệnh đề. –
Không có 'ORDER BY' -> không có lệnh xác định hoặc được bảo đảm hoặc ngầm định - nếu bạn cần một đơn đặt hàng, bạn cần phải có 'ORDER BY' - ** luôn. ** –
+1 cho" nhưng tôi muốn biết lý do tại sao nó hoạt động như thế này. " –