自动增加数据库表中的自定义ID

时间:2011-01-24 06:01:42

标签: sql-server stored-procedures

我有一个包含EMP_ID,EMP_NAME,EMP_ADDRESS的EMPLOYEE表。 EMP_ID应具有以下格式。

EMP001
EMP002
EMP003
......

我还需要使用EMP_ID作为主键,是否可以自动生成?

1 个答案:

答案 0 :(得分:4)

使用IDENTITY和计算列?

CREATE TABLE EMPLOYEE (
     RealID int NOT NULL IDENTITY (1, 1),
     EMP_NAME ...
     ...
     /*gives 000-999. Change the RIGHT as needed to give more*/
     EMP_ID AS 'EMP' + RIGHT('000000000' + CAST(RealID as varchar(10)), 3)

     CONSTRAINT PK_EMPLOYEE PRIMARY KEY CLUSTERED (EMP_ID)
     )

您可以根据需要更改右侧数字,或者您可能不需要前导零:

     EMP_ID AS 'EMP' + CAST(RealID as varchar(10))