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, Alan2, Alan3, Alan4, 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