SQL’i yoğun olarak kullananların en çok bildiği ve bildiği halde sorunlar yaşadığı konulardan biri de otomatik sayı problemidir. Herhangi bir arttırımla (azalan/artan şekilde) kayıtlar otomatik numaralandırılırken, kayıt silmeyi istediğimizde, otomatik numara kaldığı yerden devam eder. Bunu bir örnekle açıklayalım.
Kayıt No Şehir
1 Adana
2 İstanbul
3 Ankara
4 Bursa
Diyelim ki tablomuzda bu şekilde veriler var. Kayıt No, otomatik sayı üreten sütunumuz olsun. Siz eğer 2 nolu kaydı silerseniz, yeni kayıt eklediğinizde Kayıt No’nun 5’den devam ettiğini göreceksiniz. Halbuki eksik olan Kayıt No’yu tamamlayıp öyle devam etse daha kullanışlı olmaz mı? Elbette olur ve bu konuda SQL bizi destekler. Bu isteği şu şekilde dile getirebiliriz:
DBCC CHECKIDENT (tabloismi, RESEED, 0)
Kayıt silme işleminden hemen sonra sorguyu çalıştırdığımızda, eksik numara tamamlanarak devam ettiğini göreceğiz. Bu işlem MSSQL Server’larda yapılmaktadır. Access için böyle bir düzeltme isteğine gerek yoktur. Diğer taraftan MSSQL Server’ın üst versiyonları için bu düzeltilmiş olabilir. Denemekte fayda var.
0 yorum:
Yorum Gönder