首页 > 解决方案 > SQL 每年重启的编号顺序

问题描述

我正在努力创建一个简单的修复日志序列号。我想为每次维修创建一个唯一代码,但我不希望数字永远持续下去,我想使用区域(部门)、年份和编号来识别每次维修。我正在使用 SQL Server 17。我知道我可以将这些字段连接在一起以创建数字,但我不确定如何在年初重置数字?

(图片帮助描述)

谢谢!

在此处输入图像描述

标签: sqlsql-server

解决方案


如果您使用身份值,则可以将种子身份重置为您想要的任何内容:

DBCC CHECKIDENT ('TableName', RESEED, 5000)

请记住,身份并不能保证唯一值 - 只是比以前使用的值大一个。上面的代码将下一个标识重置为 5001。

如果您使用的是序列,则可以使用

ALTER SEQUENCE dbo.Seq1 RESTART WITH 5000;


推荐阅读