Você não pode fazer isso diretamente - o que você pode fazer é isso:
- crie uma coluna de incremento automático para lidar com a parte numérica
- adicione uma coluna calculada que concatena o prefixo da string e o número
Então tente algo assim:
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
)
Agora, quando você insere linhas assim:
INSERT INTO dbo.YourTable(StringPrefix) VALUES('A'), ('B'), ('A')
você deve obter linhas como esta:
ID StringPrefix IDandPrefix
1 A A1
2 B B2
3 A A3
E você pode definir sua chave primária nesse
IDandPrefix
coluna também:ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable PRIMARY KEY CLUSTERED (IDandPrefix)