更新时间:2022-02-07 22:32:49
***的解决方案是使用
ID INT IDENTITY(1,1)
列可让SQL Server处理数字值的自动递增ID INT IDENTITY(1,1)
column to get SQL Server to handle the automatic increment of your numeric value所以尝试一下:
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
中插入一行而未指定ID
或CompanyID
的值时:
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.001
,S1501.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.