2016-07-12 1 views
0

Как я могу создать пользовательские идентификаторы при вставке базы записей в состояние? Например, у меня есть donor database program, который принимает пожертвования от non-alumni и alumni. Пользовательский идентификатор от выпускников должен начинаться с A00001, а для не-выпускников - N00001. И отметить, что запись, которая будет вставлена, будет поступать из другой таблицы, записи которой взяты из файла excel.генерировать пользовательский идентификатор с условиями при вставке записей на сервер sql

Любая помощь или разъяснения будут оценены.

ответ

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

Я забыл сказать, что идентификатор из исходной таблицы не существует. Таким образом, идентификатор должен быть сгенерирован как из пустого столбца – japogs

Смежные вопросы