Can I use a SQL Server identity column to determine the inserted order of rows?

前端 未结 3 1089
一整个雨季
一整个雨季 2021-01-12 10:34

I need to be able to determine the order which rows have been inserted into a table (there are no updates). Can I use an identity column to do this? I know that there may be

相关标签:
3条回答
  • 2021-01-12 11:01

    As discussed by Marc, yes you can with provisos

    What you should do however to definitively fix the problem is add a column

    dteInserted datetime not null default getdate()
    

    Then you just select ordered by this.

    Myself I automatically add such a column onto any 'data' table in any database I'm designing. Storage is cheap nowadays and timestamping the insertion date on a row is always useful at some point.

    0 讨论(0)
  • 2021-01-12 11:05

    Largely yes, as long as you don't ever reset it or insert rows with bulk copy, or use IDENTITY_INSERT. And of course assuming that you don't overflow the data-type (which could be impressive).

    0 讨论(0)
  • 2021-01-12 11:15

    Yes. Any gaps caused by deletions will not be reused

    0 讨论(0)
提交回复
热议问题