Non puoi farlo direttamente, cosa puoi fallo è questo:
- crea una colonna di autoincremento per gestire la parte numerica
- aggiungi una colonna calcolata che concatena il prefisso della stringa e il numero
Quindi prova qualcosa del genere:
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
)
Ora quando inserisci righe come questa:
INSERT INTO dbo.YourTable(StringPrefix) VALUES('A'), ('B'), ('A')
dovresti ottenere righe come questa:
ID StringPrefix IDandPrefix
1 A A1
2 B B2
3 A A3
E puoi definire la tua chiave primaria su quel IDandPrefix
anche colonna:
ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable PRIMARY KEY CLUSTERED (IDandPrefix)