No puedes hacer esto directamente - lo que puedes hacer es esto:
- cree una columna de incremento automático para manejar la parte numérica
- añadir una columna calculada que concatena el prefijo de cadena y el número
Así que prueba algo como esto:
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
)
Ahora, cuando inserta filas como esta:
INSERT INTO dbo.YourTable(StringPrefix) VALUES('A'), ('B'), ('A')
deberías obtener filas como esta:
ID StringPrefix IDandPrefix
1 A A1
2 B B2
3 A A3
Y puede definir su clave principal en ese IDandPrefix
columna, también:
ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable PRIMARY KEY CLUSTERED (IDandPrefix)