Kullanıcı tablosunda telefon sigorta no alanını mükerrer girişi önlemek için unique index olarak tanımlıyorum. Çıkan hatayı index isminden yakalıyorum ama birden fazla sigorta nosu bilinmeyen kullanıcı için -yani 2. sigorta kullanıcısı null olan kullanıcıda - dublicate hatası veriyor. NULL ise unique index i gözardı et diye birşey var mı?

  • Ignore dublicate keys gibi birşey var ama bu o işe mi yarıyor.

soruldu: 06 Mar '14, 07:52

%C3%96nder's gravatar image

Önder
816142333
cevap kabul oranı: 26%

değiştirildi: 06 Mar '14, 07:55

SQL server versiyonu kaç?

(06 Mar '14, 08:12) AliRıza Adıyahşi ♦ AliR%C4%B1za%20Ad%C4%B1yah%C5%9Fi's gravatar image

sql server sürümü 2012

(06 Mar '14, 08:15) Önder %C3%96nder's gravatar image

telefon numarasi gibi degisken bir alanin index olmasi yanlis.

(06 Mar '14, 09:59) MCY MCY's gravatar image
1

@MCY, neden index olamasın ki?

(06 Mar '14, 10:09) AliRıza Adıyahşi ♦ AliR%C4%B1za%20Ad%C4%B1yah%C5%9Fi's gravatar image

@MCY telefon numarasına göre sıklıkla arama yapılıyorsa neden index olmasın ben de merak ettim.

(06 Mar '14, 12:47) Önder %C3%96nder's gravatar image

pardon arkadaslar, bir an PK olarak dusunerek cevap verdim, iste basimin dolu oldugu bir ana denk geldi. haklisiniz

(06 Mar '14, 13:19) MCY MCY's gravatar image
6 yorumdan 5 tanesi gösteriliyor hepsini göster

SQL SERVER 2008 ve üzeri sürümlerinde Filtered Indexes özelliğini kullanarak istediğiniz işlemi yapabilirsiniz.

istediğiniz alan için aşağıdaki kodu çalıştırmanız yeterli:

CREATE UNIQUE NONCLUSTERED INDEX [UniqueExceptNulls]
ON [Kullanicilar] (sigortaNo)
WHERE [sigortaNo] IS NOT NULL

Konu hakkında detaylı bilgi: http://improvingsoftware.com/2010/03/26/creating-a-unique-constraint-that-ignores-nulls-in-sql-server/

permanent link

cevaplandı: 06 Mar '14, 08:25

AliR%C4%B1za%20Ad%C4%B1yah%C5%9Fi's gravatar image

AliRıza Adıyahşi ♦
7.9k146288
cevap kabul oranı: 44%

değiştirildi: 06 Mar '14, 08:30

1

teşekkürler, null dışında çalışması da ayrıca güzel.

(06 Mar '14, 08:58) Önder %C3%96nder's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×77
×3

Soruldu: 06 Mar '14, 07:52

Görüntüleme: 564 kez

Son güncelleme: 06 Mar '14, 13:19

powered by BitNami OSQA