我需要能够确定哪些行已插入表中的顺序(没有更新)。我可以使用标识列来执行此操作吗?我知道可能存在差距,但是保证值会因插入顺序而增加吗?
答案 0 :(得分:7)
很大程度上是的,只要你没有重置它或插入带有批量副本的行,或者使用IDENTITY_INSERT
。当然假设您没有溢出数据类型(这可能令人印象深刻)。
答案 1 :(得分:2)
是。由删除引起的任何间隙都不会被重复使用
答案 2 :(得分:2)
正如Marc所讨论的那样,是的,您可以使用附带条件
你应该做些什么才能明确解决问题是添加一个列
dteInserted datetime not null default getdate()
然后你只需按此选择。
我自己将这样一个列自动添加到我正在设计的任何数据库中的任何“数据”表中。现在存储很便宜,并且在一行上为插入日期添加时间戳总是在某些时候有用。