Вы не можете сделать это непосредственно - то, что вы можете сделать это:
- создать столбец автоинкрементируемого для обработки числовой части
- добавить вычисляемый столбец, что сцепляет строка префикс и номер
Так попробовать что-то вроде этого:
CREATE TABLE dbo.YourTable
(ID INT IDENTITY(1,1) NOT NULL,
StringPrefix NVARCHAR(10) NOT NULL,
IDandPrefix AS ISNULL(StringPrefix + CAST(ID AS NVARCHAR(10)), 'X') PERSISTED
)
Теперь при вставке строк, как это:
INSERT INTO dbo.YourTable(StringPrefix) VALUES('A'), ('B'), ('A')
вы должны получить строки, как это:
ID StringPrefix IDandPrefix
1 A A1
2 B B2
3 A A3
И вы можете определить первичный ключ на этой IDandPrefix
колонке тоже:
ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable PRIMARY KEY CLUSTERED (IDandPrefix)
да, я с вами согласен – Greditasari