T-SQL ile uğraşan herkes mutlaka view’larla da uğraşmıştır. View’lar tablolardaki verilere erişmek için kullandığımız bir diğer yoldur. İçlerinde genellikle select deyimiyle oluşturulmuş bir sorgu bulunur.
Gerçekte view’larda order by terimi kullanılmaz. Peki bir view oluşturdunuz ve bu view içinde ORDER
BY ifadesi kullanmak istiyorsunuz. Nasıl olacak bu iş?
View’larda ORDER BY kullanmanın tek yolu TOP 100 PERCENT ifadesini kullanmaktır.
TOP 100 PERCENT komutu view’daki kayıtların 100% ünü sıralı bir şekilde getirecektir.
Bir örnekle açıklayalım.
AdventureWorksDW2012 dbmizdeki vAssocSeqLineItems view’ına order by yazıp alter etmek istediğimde aşağıdaki hatayı alıyorum.
Resim-1
Aynı view’u Top 100 percent ekleyerek alter edelim.
Resim-2
View’umuz başarılı bir şekilde güncellendi ve verimiz OrderNumber değişkenine göre sıralı bir şekilde listelendi.
Resim-3
Ek olarak Order By eklendikten sonra View’daki sorgu performansının düştüğünü de unutmayalım.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
‘create view vw_ürünfiyat as (select top 99 percent p.ProductName,p.UnitPrice from Products p order by p.UnitPrice desc)’
Konuyla alakalı örnek bir sorgu yukarıdadır. ‘top 100’ yazarsak doğru bir şekilde gelmiyor.Yazarın örneğine dikkatle bakarsanız ascanding bir sıralamanın gerçekten olmadığını göreceksiniz.
Çok güzel tespit, tebrikler…