如何识别插入的记录订单?

时间:2011-08-06 11:00:38

标签: database sql-server-2008

我在sql server 2008中有一个表,我需要在不使用标识字段的情况下识别表中的插入顺序。此表也不包含任何datetime数据类型字段。请给我解决方案。

2 个答案:

答案 0 :(得分:3)

你做不到。

表中有 no 隐含或内置排序顺序。表只是行的集合。如果您使用ORDER BY something,则表上的查询会有一个订单(例如,最早到最晚)。

你说你没有这样的事。你别无选择。

答案 1 :(得分:1)

根据定义,表是一组无序行。想想把一堆豆袋扔在地板上。他们登陆的订单是什么?除非你在投掷它们时保持跟踪,或者用1,2,3等标记它们,否则你根本不知道。 (让我们忽略它们都碰巧落在彼此之上的情况。)

您不能对订单插入做出任何假设(例如,通过使用物理订单或相信SELECT *没有ORDER BY的订单返回),除非您有其他信息。 Alex Kuznetsov有一个pretty short blog post demonstrating,除了插入顺序之外,还有很多变量可以形成顺序。