Я хочу получить идентификатор автоматического инкремента с префиксом, но сбросив его, если у него есть другой префикс.Идентификатор автоинкремента MSSQL с префиксом
Выход я хочу выглядеть следующим образом:
ID PREFIX PROJECTID
1 PID_ PID_1
2 PID_ PID_2
3 RID_ RID_1
4 RID_ RID_2
Но результат я получил с моего сценария заключается в следующем:
ID PREFIX PROJECTID
1 PID_ PID_1
2 PID_ PID_2
3 RID_ RID_3
4 RID_ RID_4
Вот мой скрипт для создания таблицы
CREATE TABLE PROJECTS
(ID INT IDENTITY(1,1) NOT NULL,
PREFIX NVARCHAR(10) NOT NULL,
PROJECTID AS ISNULL(PREFIX + CAST(ID AS NVARCHAR(10)), '') PERSISTED)
INSERT INTO PROJECTS(PREFIX) VALUES('PID_'),('PID_'),('RID_'),('RID_')
Я использую MS SQL 2012
Пользовательские функции помогут вам сделать это – MusicLovingIndianGirl
какая версия SQL Server вы используете ?? –
В вашем случае лучшее решение будет зависеть от версии SQL Server. – Alex