sql >> Databasteknik >  >> RDS >> Sqlserver

Hur lägger jag till sträng med automatiskt inkrementvärde i SQL Server?

  1. Definiera din tabell med en normal INT IDENTITY kolumn
  2. Lägg till en beräknad kolumn som sammanfogar sträng och ID tillsammans:

Något så här:

    CREATE TABLE dbo.YourTable
       (ID INT IDENTITY(1,1),
        EmpID AS 'emp_' + CAST(ID AS VARCHAR(10)) PERSISTED, 
        ......
       )

På detta sätt, ditt ID kolumnen är en normal IDENTITY-kolumn och EmpID kommer att innehålla emp_1, emp_2, emp_3, ......, emp_42, ...

Genom att göra det till en beständig beräknad kolumn lagras data faktiskt på disken och behöver inte beräknas om varje gång du kommer åt tabellen. När du fortsätter kan du också enkelt sätta ett index på den beräknade kolumnen också



  1. Vilken tidsstämpeltyp ska jag välja i en PostgreSQL-databas?

  2. 4 tips för att köra SQL Server Diagnostics

  3. Varför är Oracle så långsam när jag skickar en java.sql.Timestamp för en DATUM-kolumn?

  4. Förhindrar SELECT FOR UPDATE att andra anslutningar infogas när raden inte finns?