我正在研究一种不寻常的桌面设计。主键数据类型为Guid
,表中没有日期/时间列。我如何订购结果下降?
请注意,我不允许在表格中添加新列。不幸的是,其他列也有一些标志,不能用于按降序排序数据。
我需要获取一些最后插入的行。
答案 0 :(得分:0)
我担心除非您查看事务日志或者可以通过某种顺序列进行排序,否则无法将最后一条记录插入到SQL Server表中。
你可能很幸运,你的GUID有一个日期/时间组件或其他类似的顺序模式,但不知道你如何生成它很难说的GUID。
答案 1 :(得分:0)
对于您的数据库,在插入新行时必须使用NEWSEQUENTIALID。然后,您将能够使用ORDER BY [GUID列名称] DESC按插入顺序获取行。见https://msdn.microsoft.com/en-AU/library/ms189786.aspx
唯一的问题是当您重新启动服务器时,它可能从较低的GUID开始。这可能是一个问题,取决于你的情况。