2011-01-24 128 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))