且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

SQL Server-创建自定义自动增量字段

更新时间:2022-02-07 22:32:49

***的解决方案是使用

  • ID INT IDENTITY(1,1)列可让SQL Server处理数字值的自动递增
  • 一个计算后的持久化列,可将该数字值转换为所需的值
  • an ID INT IDENTITY(1,1) column to get SQL Server to handle the automatic increment of your numeric value
  • a computed, persisted column to convert that numeric value to the value you need

所以尝试一下:

CREATE TABLE dbo.tblCompany
  (ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
   CompanyID AS 'S1501.' + RIGHT('000' + CAST(ID AS VARCHAR(3)), 3) PERSISTED,
   .... your other columns here....
  )

现在,每次在tblCompany中插入一行而未指定IDCompanyID的值时:

Now, every time you insert a row into tblCompany without specifying values for ID or CompanyID:

INSERT INTO dbo.tblCompany(Col1, Col2, ..., ColN)
VALUES (Val1, Val2, ....., ValN)

然后,SQL Server将自动安全地增加您的ID值,并且CompanyID将包含诸如S1501.001S1501.002,......之类的值-自动,安全,可靠,无重复.

then SQL Server will automatically and safely increase your ID value, and CompanyID will contain values like S1501.001, S1501.002,...... and so on - automatically, safely, reliably, no duplicates.