如何使用自动增量主键在表中插入值?

时间:2013-12-04 20:10:48

标签: sql sql-server sql-server-2008

我想创建一个包含多个列的表,主键卷号为。这个没有。会像cse001cs002cs003等等。

其他列将是姓名,性别,分支等。

因此,如果我添加一个新行,则应添加新的卷号。 (Cs***)加1。

那我该如何创建我的桌子?

我正在使用SQL Server 2008。

1 个答案:

答案 0 :(得分:3)

修改:SQL Fiddle

您可以将IDENTITY列用作非PK字段,然后使用主键的计算列:

CREATE TABLE TestTable
(
    PKOfTable AS ('CS' + CAST(AutoIncId as varchar)) PERSISTED NOT NULL PRIMARY KEY,    
    [AutoIncId] INT IDENTITY NOT NULL,
    [OtherField] VARCHAR(10)
);


INSERT INTO TestTable (OtherField) VALUES ('hello1')
INSERT INTO TestTable (OtherField) VALUES ('hello2')
INSERT INTO TestTable (OtherField) VALUES ('hello3')
INSERT INTO TestTable (OtherField) VALUES ('hello4')

SELECT * FROM TestTable