2016-07-12 16 views
0

如何根據條件插入記錄時如何生成自定義標識符?例如,我有一個donor database program,它接受non-alumnialumni的捐款。校友的自定義ID應該從A00001開始,非校友的N00001。並且要注意,將被插入的記錄將來自另一個表格,該記錄來自excel文件。在將記錄插入到sql server時生成自定義標識符

任何幫助或澄清,將不勝感激。

回答

0

也許這樣的事情?

DECLARE @Table TABLE (ID VARCHAR(20)); 

-- Non alumni 
INSERT INTO @Table 
     (ID) 
VALUES ('N00011') 

INSERT INTO @Table 
     (ID) 
VALUES ('N00012') 

INSERT INTO @Table 
     (ID) 
VALUES ('N00013') 

-- Alumni 
INSERT INTO @Table 
     (ID) 
VALUES ('A00011') 

INSERT INTO @Table 
     (ID) 
VALUES ('A00012') 

INSERT INTO @Table 
     (ID) 
VALUES ('A00013') 

-- Insert Alumni 
INSERT INTO @Table 
     (ID 
     ) 
     SELECT 'A' + RIGHT('00000' 
          + CAST(MAX(RIGHT(ID, LEN(ID) - 1)) + 1 AS VARCHAR(10)), 
          5) 
     FROM @Table 
     WHERE LEFT(ID, 1) = 'A' 

-- Insert Non Alumni 
INSERT INTO @Table 
     (ID 
     ) 
     SELECT 'N' + RIGHT('00000' 
          + CAST(MAX(RIGHT(ID, LEN(ID) - 1)) + 1 AS VARCHAR(10)), 
          5) 
     FROM @Table 
     WHERE LEFT(ID, 1) = 'N' 
+0

我忘了告訴大家,從源表中的ID是不存在的。所以這個id應該像空列那樣生成 – japogs

相關問題