Du kan ikke gøre dette direkte - hvad du kan gør er dette:
- opret en kolonne med automatisk stigning for at håndtere den numeriske del
- tilføj en beregnet kolonne der sammenkæder strengpræfikset og tallet
Så prøv noget som dette:
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
)
Når du nu indsætter rækker som denne:
INSERT INTO dbo.YourTable(StringPrefix) VALUES('A'), ('B'), ('A')
du skulle få rækker som denne:
ID StringPrefix IDandPrefix
1 A A1
2 B B2
3 A A3
Og du kan definere din primære nøgle på det IDandPrefix
kolonne også:
ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable PRIMARY KEY CLUSTERED (IDandPrefix)