重新构造现有sql server表中的序列

v8wbuo2f  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(205)

我有一个sql server 2016表,它有10000多行。这个 Id 列是递增1的顺序id。但是那 Id 如下面的屏幕截图所示的顺序不正确,缺少330。是否有任何方法可以更正现有表中的此序列?

我试过下面的方法,但没用。

CREATE SEQUENCE contacts_seq
AS BIGINT
   START WITH 1
   INCREMENT BY 1
   MINVALUE 1
   MAXVALUE 99999
   NO CYCLE
   CACHE 10;
4c8rllxm

4c8rllxm1#

这是没有意义的 fixing 这—您要执行的操作将阻止对表的访问,并可能影响应用程序性能。
然后,有人可以删除记录 X 你会再次站在同样的位置。
一般来说 id 是唯一标识一行。如果因为某些原因你不想 gaps 您可以使用排名函数 fix 这个。
例如:

SELECT ROW_NUMBER () OVER (ORDER BY id) AS [ID]

相关问题