06/07/2006

SQLServer 2005 ROW_NUMBER() ile Sıralama

Yukon da istenilen satır bazında kayıt çağırmak mümkün hale getirildi.Mesela Windows uygulaması geliştirenler, grid kontrolleri sayesinde istedikleri gibi sayfalama yapamıyordu.Her ne kadar web uygulamaları için bu iş artık çok kolay olsada windows uygulamalarında çok büyük sorun.Fakat yukonda select cümlesinde yazılan komutlar sayesinde bu iş kolaylaştı.

SELECT  kolon1, kolon2, kolon3
FROM (
     SELECT  ROW_NUMBER() OVER (ORDER BY kolon2 )
            AS Row, kolon2,kolon3
     FROM TabloAdı
    
     )  AS TabloAlias
WHERE  Row > 0 AND Row <= 50

Bu kod sayesinde TabloAdı isimli tablo, kolon2 isimli kolona göre Order By ediliyor ve çalışma esnasında select edilen query e Row isimli bir kolon daha ekleniyor.Row isimli kolon identitiy gibi 1 den itibaren büyüyerek değer alıyor.Sizde bu kod parçacığı sayesinde ilk 50 kayıdı alıp grid inize yükleyebilirsiniz.Kullanıcı sonraki sayfa dediğinde queryde WHERE  Row >0 AND Row <= 50 kısmını WHERE  Row > 50 AND Row <= 100 yaparak, sonraki 50 kayıdı alabilirsiniz.Tabiki 50 50 almak zorunda değilsiniz :)

Yukonda sıralama işlemi için 4 ayrı metod hazırlanmış.( ROW_NUMBER(), RANK(), DENSE_RANK(), NTILE() ) Googgle da RANKING FUNCTION yazarak daha ayrıntılı dökümanlara ulaşabilirsiniz.

Windows uygulaması geliştirenlere hayırlı olsun... :)

17:08 Posted in Yukon | Permalink | Comments (0) | Email this

12/18/2005

SQL de SA hesabı

Yıllardır SQL Server kullanıyorum ama su admin hesabını bir turlu anlamıyordum.Bence Kullanıcı adı olarak SA kullanılması tamamen komediydi.Nasıl olurdu da SA hesabı baska bir kullanıcı adı ile değiştirilemiyordu.Sanki Microsoft un değilde sabancının programı :) Bence bu cok buyuk bir acık cıkartıyordu ortaya.En sonunda 2005 de bu yanlışlığı düzeltmişler.Artık SA yerine yeni bir isim set edebiliyorsunuz.Ben bu değişikliği bilmiyordum.Bu değişiklikten Kadir Sumerkent sayesinde haberim oldu ama hiç denememiştim.Hafta sonu aklıma geldi ve denedim. Ne diyelim hepimize hayırlı olsun :)
ALTER LOGIN sa WITH NAME = [yenisaadi];

17:55 Posted in Yukon | Permalink | Comments (0) | Email this