2011-01-24 127 views
1

我有一个EMPLOYEE表,EMP_ID,EMP_NAME,EMP_ADDRESS。 EMP_ID应该具有以下格式。自动增加数据库表中的自定义ID

EMP001 
EMP002 
EMP003 
...... 

我也需要使用EMP_ID作为主键,应该是自动生成的可能吗?

+0

有多少员工,你预计会出现?超过999? – Rob 2011-01-24 06:05:32

回答

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))