如何在SQLServer中自动增加表中的列值而不使用标识和主键

Mun*_*eme 1 sql sql-server sql-server-2008

我有一个表,其中包含一个唯一的ID列,其值类似于"SLN000001",

每当添加新行时,我都需要增加列值,但该列没有标识,并且它不是主键.我怎样才能使它工作?

gbn*_*gbn 5

您可以使用计算列

CREATE TABLE #foo (
    IDColumn int  NOT NULL IDENTITY(1,1),
    PayLoad varchar(100) NOT NULL,
    TheRealKey AS CONCAT('SLN', RIGHT(CONCAT('00000', IDColumn), 6)) PERSISTED PRIMARY KEY
    )
GO
INSERT #foo (PayLoad) VALUES ('Row 1'), ('Row 2')
GO
SELECT * FROM #foo f
Run Code Online (Sandbox Code Playgroud)