2016-07-12 11 views
0

条件に基づいてレコードを挿入する際にカスタムIDを生成する方法はありますか。たとえば、私はnon-alumnialumniから寄付を受け入れるdonor database programを持っています。同窓会のカスタムIDはA00001で始まり、非同窓生の場合はN00001です。そして注意すべきは、挿入されるレコードは、Excelファイルから来たレコードの別のテーブルから来るということです。SQL Serverにレコードを挿入するときに条件付きカスタムIDを生成する

ご迷惑をおかけして申し訳ございません。

答えて

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

関連する問題