我可以使用SQL Server标识列来确定插入的行顺序吗?

时间:2009-04-02 07:07:11

标签: sql-server identity

我需要能够确定哪些行已插入表中的顺序(没有更新)。我可以使用标识列来执行此操作吗?我知道可能存在差距,但是保证值会因插入顺序而增加吗?

3 个答案:

答案 0 :(得分:7)

很大程度上是的,只要你没有重置它或插入带有批量副本的行,或者使用IDENTITY_INSERT。当然假设您没有溢出数据类型(这可能令人印象深刻)。

答案 1 :(得分:2)

是。由删除引起的任何间隙都不会被重复使用

答案 2 :(得分:2)

正如Marc所讨论的那样,是的,您可以使用附带条件

你应该做些什么才能明确解决问题是添加一个列

dteInserted datetime not null default getdate()

然后你只需按此选择。

我自己将这样一个列自动添加到我正在设计的任何数据库中的任何“数据”表中。现在存储很便宜,并且在一行上为插入日期添加时间戳总是在某些时候有用。