Merhabalar, bu yazımızda daha önceki çalışmalarımda öğrendiğim, üzerinde unique index tanımlanan null değer alabilen kolonda ikinci bir null değer geldiğinde bu kaydın unique indexten dolayı kaydedilmeyeceği, bilgisinin yeni sql server versiyonlarında artık şartlı index yazarak geçersiz olabileceğini ve nasıl yapılacağını öğreneceğiz.
Örneğin bir kişinin kredi kartı numarası olmak zorunda değil (nullable) ama var ise kişiye özel bir numaradır yani unique.
Şartlı INDEX yazmak aslında normal index yazmaktan çok farkı yoktur. Yapılması gereken index ifadesinden sonra WHERE ile koşulların yazılmasıdır. Bu şekilde index sadece şartın sağlandığı durumlarda geçerli olur.
CREATE UNIQUE INDEX filtered_unique_index
ON table_name([Name])
WHERE [Name] IS NOT NULL
Bu şekilde sadece [Name] kolonu üzerinde sadece [Name] kolonunun null olmadığı zaman çalışacak bir unique index tanımlamış oluruz.