Satu-satunya solusi yang layak menurut saya adalah menggunakan
- sebuah
ID INT IDENTITY(1,1)
kolom agar SQL Server menangani kenaikan otomatis nilai numerik Anda - a dihitung, bertahan kolom untuk mengonversi nilai numerik itu ke nilai yang Anda butuhkan
Jadi coba ini:
CREATE TABLE dbo.tblUsers
(ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
UserID AS 'UID' + RIGHT('00000000' + CAST(ID AS VARCHAR(8)), 8) PERSISTED,
.... your other columns here....
)
Sekarang, setiap kali Anda memasukkan baris ke tblUsers
tanpa menentukan nilai untuk ID
atau UserID
:
INSERT INTO dbo.tblUsersCol1, Col2, ..., ColN)
VALUES (Val1, Val2, ....., ValN)
maka SQL Server akan secara otomatis dan aman tambah ID
nilai, dan UserID
akan berisi nilai seperti UID00000001
, UID00000002
,...... dan seterusnya - secara otomatis, aman, andal, tidak ada duplikat.
Pembaruan: kolom UserID
dihitung - tapi tetap Tentu saja memiliki tipe data , seperti yang ditunjukkan oleh Object Explorer: