Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come posso aggiungere una stringa con un valore di incremento automatico in SQL Server?

  1. Definisci la tua tabella con una normale INT IDENTITY colonna
  2. Aggiungi una colonna calcolata che unisce stringa e ID insieme:

Qualcosa del genere:

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

In questo modo, il tuo ID column è una normale colonna IDENTITY e EmpID conterrà emp_1, emp_2, emp_3, ......, emp_42, ...

Rendendolo un persistente colonna calcolata, i dati vengono effettivamente archiviati su disco e non è necessario ricalcolarli ogni volta che si accede alla tabella. Inoltre, quando è persistente, puoi facilmente inserire un indice anche su quella colonna calcolata