0
如何根據條件插入記錄時如何生成自定義標識符?例如,我有一個donor database program
,它接受non-alumni
和alumni
的捐款。校友的自定義ID應該從A00001
開始,非校友的N00001
。並且要注意,將被插入的記錄將來自另一個表格,該記錄來自excel文件。在將記錄插入到sql server時生成自定義標識符
任何幫助或澄清,將不勝感激。
如何根據條件插入記錄時如何生成自定義標識符?例如,我有一個donor database program
,它接受non-alumni
和alumni
的捐款。校友的自定義ID應該從A00001
開始,非校友的N00001
。並且要注意,將被插入的記錄將來自另一個表格,該記錄來自excel文件。在將記錄插入到sql server時生成自定義標識符
任何幫助或澄清,將不勝感激。
也許這樣的事情?
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'
我忘了告訴大家,從源表中的ID是不存在的。所以這個id應該像空列那樣生成 – japogs