簡體   English   中英

在將記錄插入到SQL Server時生成帶有條件的自定義ID

[英]generate custom id with conditions while inserting records to sql server

在根據條件插入記錄時如何生成自定義ID? 例如,我有一個donor database program ,該donor database program接受non-alumnialumni捐贈。 來自校友的自定義ID應該以A00001 ,而非校友的為N00001 請注意,將插入的記錄將來自另一個表,該表的記錄來自excel文件。

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

大概是這樣嗎?

 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'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM