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:
