2011-08-06 22 views
0

我在sql server 2008中有一個表,我需要在不使用標識字段的情況下確定表中插入的順序。並且此表不包含任何日期時間數據類型字段。請告訴我解決方案。如何識別插入的記錄訂單?

+0

你有主鍵嗎? – gbn

+0

不,這裏沒有鑰匙可用 – Sujit

+1

你爲什麼沒有鑰匙? –

回答

3

你不行。

暗示或內置的排序順序到表中。表格只是行的集合。如果您使用ORDER BY something,則表上的查詢會有一個訂單(例如,從最早到最新)。

你說過你沒有這樣的東西。你沒有選擇。

+0

我認爲你是對的,我需要在桌子上做出改變。 – Sujit

1

根據定義,表是一組無序的行。想想把一堆豆袋扔在地上。他們下了什麼命令?除非你在投擲時保持跟蹤,或者用1,2,3等標記,否則你不知道。 (讓我們忽略它們碰巧碰到的情況。)

您不能對訂單插入作出任何假設(例如,通過使用物理訂單或相信SELECT *沒有ORDER BY返回的訂單)除非你有其他的信息可以去。亞歷克斯庫茲涅佐夫有一個pretty short blog post demonstrating,有許多變量可以塑造順序,除了插入的順序。