ANASAYFA | BLOG | SORU CEVAP | REFERANSLARIM | DOWNLOAD | HAKKIMDA | İLETİŞİM | ARAMA
~~~SORU~CEVAP~~~
Gönderen: ~~FARUK UNAL~~
7.5.2014 0

Öncelikle kolay gelsin,, Tam olarak ne için kullandığınıza göre çözüm şekli değişebilir, Eğer ilgili ID değeri başka tablolarla PK-FK ilişkisi ile bağlantılıysa bunu da göz önüne almak gerekir. Eğer bu şekilde bir veritabanınız varsa Trigger yazarak delete komutundan sonra yeniden otomatik olarak sıralanmasını sağlayabilirsiniz ama burda Primary Key - Foreign Key ilişkilerine dikkat etmeyi unutmayın. Bu şekilde bir güncelleme yoluna gidecekseniz hata ilk aşamada Primary Key (ID) Değiştirmede ve Foreign Key uyumsuzluğundan kaynaklı hata alabilirsiniz. İlgili trigger da yeni update işlemi yaptırırken öncelikle Primary Key girişini aktif etmeniz ardından da Foreign Key kısıtlamasını geçici olarak kaldırmanız gerekir. Bu konularda daha önceki yazılarımdan ve sorulara verdiğim cevaplardan daha detaylı bilgi alabilirsiniz.

1.Primary Key (ID) insert/update işlemi için buraya tıklayabilirsiniz

2.Foreign Key kısıtlamasını kaldırma kodu için ise buraya tıklayabilirsiniz



Eğer bu şekilde değil de sadece kullanıcıya gösterdiğinizde sıralı bir sonuç göstermek istiyorsanız bunu direk sql sorgusu ile yapabilirsiniz.  Bu konuda da daha önce yazdığım yazıyı incelemek için buraya tıklayabilirsiniz.  SQL de ROW_NUMBER() fonksiyonu ile bunu gerçekleştirmek mümkün. Bu fonksiyon ile her zaman sorgu sonucunun satır sıralaması ile gelmesini sağlayabilirsiniz

Yukarıda bahsettiğim 2yolu da kullanabilirsiniz ama Foreign Key işlemleri eğer veritabanınız büyükse ilerde hata almanıza neden olabilir. Tamamen kontrollü yapıldığında elbetteki sorun olmaz ama ilerde yeni bir tablo vs eklendiğinde sürekli bu trigger ı da düzenlemeniz gerekebilir. Onun yerine Row_number() ile sorgunuzu çekerek kullanıcıya ID yi göstermeden direk sıralı gösterebilir, delete/update işlemleri için de ID sini kullanabilirsiniz.

Umarım sorununuzu çözmekte yardımcı olmuşumdur. Aklınıza takılan birşey olursa yada herhangi bir hata/sorun ile karşılaşırsanız iletişime geçtiğinizde elimden geldiğince yardımcı olmaya çalışırım,, kolay gelsin, İyi çalışmalar

Gönderen: Fatih ÖZER
7.5.2014 0


teşekkür ederim sayenizde neye bakacağımı biliyorum :)


Ad Soyad :
E-mail :
Cevap :
DoÄŸrulama Kodu