* Değişken tanımlama
Benim çok canımı sıkan bir durumdu bu. Önce değişkeni tanımlayıp, sonra başlangıç değerini atamak zorunda olmak.
Declare @userid int
Set @userid=999
Geç de olsa bu özellik eklenmiş
Declare @userid=999
* Toplu insert
Daha önce bir kolaylık olarak yazdığım toplu insert konusu union cümlesine gerek kalmadan çözülmüş
insert into user(firstName,lastName,status)
select "Ali","Yazar",1 union all
select "Veli","Okur",0 union all
select "Veysel","Bakar",1
şeklindeki ifade
insert into user(firstName,lastName,status)
values
("Ali","Yazar",1),
("Veli","Okur",0),
("Veyseş","Bakar",1)
bu şekilde yazılabiliyor
* Merge
İki tablonuz olduğunu düşünün. Biri gerçek kullanıcılarınızın olduğu "user" tablosu, diğeri de herhangi bir kaynaktan topladığınız yeni kullanıcılarınız olan "newUSer" tablosu. Yapmak istediğiniz userid bazında bakıp, olmayanları eklemek, olanların ise bilgilerini güncellemek.
Aşağıdaki cümleyle bu işlem yapılabiliyor
Merge user as u
using newUser as n
on u.userid=n.userid
when not matched by target then
insert(firstName,lastName,status)
when matched then
update set
firstName=n.firstName,
lastName=n.lastName,
status=n.status
* Grouplama Setleri
Bu özellikle de birden fazla gruplama alanına göre sonuçlar aynı select cümlesi içinde toplanmış. Msdn sitesindeki örnek bu ihtiyaç için çok uygun olduğu için direk aynısını kullandım.
Select Region,Country,Store,SalePerson,Sum(TotalDue) as TotalSales
from SalesData
group by grouping sets
(
(Region,Country,Store,SalesPerson),
(Region,Country),
(Country),
(Region)
()
)
şeklinde yazılan sorgu sonucu aşağıda şekilde listelenir
Daha fazla bilgiye buradan ulaşabilirsiniz.
0 yorum:
Yorum Gönder