Du kan inte göra det här direkt - vad du kan gör är detta:
- skapa en kolumn för automatisk ökning för att hantera den numeriska delen
- lägg till en beräknad kolumn som sammanfogar strängprefixet och numret
Så prova något sånt här:
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
)
Nu när du infogar rader så här:
INSERT INTO dbo.YourTable(StringPrefix) VALUES('A'), ('B'), ('A')
du bör få rader så här:
ID StringPrefix IDandPrefix
1 A A1
2 B B2
3 A A3
Och du kan definiera din primära nyckel på det IDandPrefix
kolumn också:
ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable PRIMARY KEY CLUSTERED (IDandPrefix)