當我在存儲過程中使用爲什麼「SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED」以不同的順序返回行?
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
我正在以不同的順序行。
下面是在存儲過程中定義的查詢。
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT CaseRateDetailId,AmtPerWeek
FROM CaseRateDetails
WHERE CaseRateInfoId = @CaseRateInfoId
它返回AmtPerWeek這樣的:
10000,15000,5000,20000,25000,..
當我運行相同的查詢,而無需使用
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
語句返回正確的順序行即5000,10000,15000,20000,25000,....
我可以在上面的查詢中使用AmtPerWeek子句的順序,但我想知道之所以如此行事?爲什麼它會改變行的順序?
沒有**正確的**訂單沒有訂單旁邊的條款。 – 2012-02-02 10:35:13
沒有'ORDER BY' - >沒有定義或保證或隱含的順序 - 如果你需要一個命令,你需要有一個'ORDER BY' - **總是** – 2012-02-02 10:39:02
+1「但我想知道它爲什麼這樣做的原因。「 – 2012-02-02 10:59:10