Gunakan indeks terfilter yang unik
Pada SQL Server 2008 atau lebih tinggi, Anda cukup menggunakan indeks yang difilter unik
CREATE UNIQUE INDEX IX_TableName_FormID_isDefault
ON TableName(FormID)
WHERE isDefault = 1
Dimana tabelnya
CREATE TABLE TableName(
FormID INT NOT NULL,
isDefault BIT NOT NULL
)
Misalnya jika Anda mencoba menyisipkan banyak baris dengan FormID
yang sama dan isDefault
set ke 1 Anda akan mendapatkan kesalahan ini:
Tidak dapat menyisipkan baris kunci duplikat di objek 'dbo.TableName' dengan uniqueindex 'IX_TableName_FormID_isDefault'. Nilai kunci duplikat adalah (1).
Sumber:http://technet.microsoft.com/en-us/library/cc280372.aspx