1

これは「なぜこれが起こるのか??? - 質問」です。

次のスクリプトがあります。

DECLARE @sql_stmt nvarchar(max)

SET @sql_stmt = '
   select top 100000 id as id
   from  dat.sev_sales_event
   order by id
'

DECLARE @preResult TABLE ( sales_event_id INT NOT NULL PRIMARY KEY)

INSERT INTO @preResult(sales_event_id)
EXEC sp_executesql @sql_stmt

SELECT * FROM @preResult

このスクリプトを実行すると、結果は実行されるたびに異なる場合があります

一時テーブルから「PRIMARY KEY」を削除するだけで、安定した結果が得られます

誰かがこの動作の理論を教えてもらえますか?

敬具 ユルゲン

4

2 に答える 2

4

データベース内のデータの順序には意味がありません。

結果を並べ替える場合は、句を指定する必要があります。ORDER BY

これは、PRIMARY キーの有無に関係ありません。

次のスクリプトは、問題をうまく説明しています

于 2013-07-30T12:26:12.603 に答える