Selamlar arkadaşlar,
Bu dersimizin içeriği;
Tablo mevcut ama aralardan silinmeler olduğundan dolayı atlamalar var ve bu da hesapları bozuyor. Manuel düzeltmek isterdim ancak tabloda binlerce kayıt var ve saatler sürer.-
Kodlarımıza geçelim.
Kodlarımızı sıralı olarak yani ardışık olarak almak için
bu fonksiyonu kullanıyoruz ve hangi sıraya göre alacağımızı da
devamındaki komutlar ile alıyoruz.
NOT: ROW_NUMBER() ile gelen sıra numarası hiçbir zaman değişmez.
Sıralamayı ID'ye göre de yapsanız, Tarihe göre de yapsanız 1. satır her zaman 1. satırdır. Yani ROW_NUMBER() tabloya bağlı değldir. Gelen sonuçlara bağlıdır. (Excel deki gibi düşünün. 1. Satırı sildiğinizde 2. satır 1. satır olur.)
Bu dersimizde bu kadar arkadaşlar
Diğer derslerimizde görüşmek üzere,
Bu dersimizin içeriği;
- Row_Number() Kullanımı
- Update işlemi
- Update İşlemi içerisinde select sorgusu kullanımı
Tablo mevcut ama aralardan silinmeler olduğundan dolayı atlamalar var ve bu da hesapları bozuyor. Manuel düzeltmek isterdim ancak tabloda binlerce kayıt var ve saatler sürer.-
Kodlarımıza geçelim.
Kod:
UPDATE x
SET x.Tbl_Kod = x.Yeni_Kodlar
FROM (
SELECT Tbl_Kod , ROW_NUMBER() OVER (ORDER BY [Tbl_ID] ) AS Yeni_Kod
FROM MyTable
) x
-- x ile select sorgusuna bir isim vermiş olduk
-- x. ile başlayanlar bu select sorgusunun elemanları anlamına gelir.
-- x sorgusundaki Tbl_Kod 'u x sorgusundaki ROW_NUMBER()' a göre güncelle - demiş oluyoruz.
-- Ancak buradaki ROW_NUMBER()' ı da veriler ID ye göre sıralandığındaki satır numarasını alıyoruz
Kodlarımızı sıralı olarak yani ardışık olarak almak için
Kod:
ROW_NUMBER()
bu fonksiyonu kullanıyoruz ve hangi sıraya göre alacağımızı da
Kod:
ROW_NUMBER() OVER (ORDER BY [Tbl_ID]
devamındaki komutlar ile alıyoruz.
NOT: ROW_NUMBER() ile gelen sıra numarası hiçbir zaman değişmez.
Sıralamayı ID'ye göre de yapsanız, Tarihe göre de yapsanız 1. satır her zaman 1. satırdır. Yani ROW_NUMBER() tabloya bağlı değldir. Gelen sonuçlara bağlıdır. (Excel deki gibi düşünün. 1. Satırı sildiğinizde 2. satır 1. satır olur.)
Bu dersimizde bu kadar arkadaşlar
Diğer derslerimizde görüşmek üzere,
