21 Mayıs 2014 Çarşamba

MS SQL Views kullanımı - SQL CREATE VIEW

Veritabanı içinde "Views" alanı, hemen tablolarının "Tables" altında yer alır ve çoğu zaman kullanılmaz. Views içinde yaratacağınız View'lar ne işe yarar derseniz, uradaki oluşturacağınız sorgular dışarıdan sorgu yanıtını bir tablo gibi kullanmanıza yarar.
Genelde Stored Procedure'ler işimizi çözsede, "union all" komutu ile birleştirilmiş tablo yapılarına erişmek de fayda sağlar.

View nasıl oluşturulur?
Aşağıda bir iki tane örnek yazdım. Union kullanarak, direkt joinleyerek oluşturduğunuz tablolarla, veri setlerinizi oluşturmanız mümkün.

Yarattığınız View'u aynı bir tablo gibi
SELECT * FROM V_ORNEKVIEW 
şeklinde kullanabilirsiniz.

Temel yazım;
CREATE VIEW V_ORNEKVIEW 
AS
SELECT Alan(lar)
FROM TABLO1
WHERE KOSULLAR
GO

Union kullanımı;
CREATE VIEW [V_ORNEKVIEW]
AS
with VeriIsmi(Alan1, Alan2Alan3Alan4, Level)
as(
select x.Alan1, u.Alan2, u.Alan3, u.Alan4, 0 as Level
from TABLO1 u
LEFT join TABLO2 x ON u.Alan2= x.Alan2
WHERE u.Alan4 is not null

union all

select x.Alan1, u.Alan2, u.Alan3,  s.Alan4, Level+1 as Level
from TABLO1 u, TABLO2 x, VeriIsmi s
where u.Alan3 = s.Alan2
AND u.Alan2= x.Alan2
)
select ss.Alan1,ss.Alan2,ss.Alan3,ss.Alan4, ss.Level
from VeriIsmi ss
GO

JOIN kullanımı;
CREATE VIEW [V_ORNEKVIEW]
AS
select x.Alan1, u.Alan2, u.Alan3, u.Alan4, 0 as Level
from TABLO1 u
LEFT join TABLO2 x ON u.Alan2= x.Alan2
WHERE u.Alan4 is not null

GO

Hiç yorum yok:

Yorum Gönder