Sql Server Cube

25 08 2011

Eğer kullandığınız sorgu sonucunda, sonuç satırları ile birlikte bir de özet bilgi göstermek istiyorsanız “Cube” kullanabilirsiniz. ör:
SELECT ProductID,SUM(Price) FROM tblSale GROUP BY ProductID WITH CUBE (veya GROUP BY CUBE(ProductID)) şeklinde bir sorgu kullanabilirsiniz. bu sorgu sonuç olarak bize ProductID ye göre gruplanmış toplam fiyat bilgisini ve ek olarak tüm satırlardaki toplam fiyat bilgisini getirecektir. Belki birilerinin işine yarar 🙂





Sql Sorgusunda Sıra Numarası

4 09 2008

Eğer çektiğiniz sorguda gelen satırlarla birlikte sıra numarasının da görünmesini istiyorsanız Row_Number() ifadesini kullanabilirsiniz. Kullanımı Select alan1, alan2… , Row_Number() over(partition by gruplama_alanı order by sıralama_alanı ) from tablismi şeklinde. Order by bölümü zorunlu alan, sorgu sonucu dönen satırların neye göre numaralandırılacağını belirtir. Partition by alanı isteğe bağlı kullanılır ve sorguda gruplama yapılarak sıra numarasının her grup için ayrı ayrı atanmasını sağlar.

örnek kullanım : 

Select IlceAdi, Row_Number() over( partition by SehirId order by IlceAdi) from IlceTablosu

 

Not: veri tabanınızda il ve ilce tablolarının olduğunu ve Ilce tablosunun Il tablosuna SehirId alanıyla bağlı olduğunu varsaydım





Sql Cümlesi ile BackUp Device Oluşturmak

14 03 2008

Program içinde ve Sql Server üzerinde sql kodları ile BackUp Device oluşturmak istediğimiz zaman

sp_addumpdevice ‘disk’,’backup device adı’,’c:\backupdevice.bak’

şeklinde bir cümle kullanabiliriz.





VS Hata mesajlarını İngilizceye çevirmek

21 01 2008

Türkçe işletim sistemlerinde karşılaştığımız can sıkıcı durumlardan biridir hata mesajlarının Türkçe çıkması. Can sıkıcı olmasının sebebi Türkçe kaynak miktarının yetersiz olması sebebiyle hata mesajları ile istediğimiz sonuçlara ulaşamamamız. Geliştirdiğimiz uygulamada hata mesajlarını İngilizce olarak almak istiyorsak, projemizin başlangıç formunun yapıcı fonksiyonunda

System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(“En”);

kodunu yazabiliriz. Bu işlemden sonra hata mesajları İngilizce olarak gelecektir.





Sql de Case-When Yapısı

14 12 2007

ilgili yazının güncel hali için lütfen

http://www.sadullahkeles.com/2007/12/14/sql-de-case-when-yapisi/

adresini ziyaret ediniz..

Sql cümlelerimiz içinde belirli durumlara göre farklı işlemler yapmak istiyorsak Case-When yapısını kullanabiliriz. kullanımı

CASE

WHEN durum1 THEN  yapılacaklar

WHEN durum2 THEN yapılacaklar

ELSE  yapılacaklar

END

Bir örnek ile açıklamak istersek; veri tabannda statu isminde bir alanımız olduğunu ve bu alanın kişinin medeni halini tuttuğunu düşünelim. statü alanımzda “1” evli, “2” bekar “3” de belirtilmedi anlamına gelsin. Biz eğer sorgu sonucunda statü durumunu 1,2,3 olarak değilde evli, bekar, belirtilmemiş olarak görmek istiyorsak sorgumuzu şu şekilde düzenleyebiliriz :

SELECT ADI, SOYADI,

CASE

WHEN STATU = 1 THEN‘EVLİ’

WHEN STATU = 2 THEN‘BEKAR’

ELSE‘BELİRTİLMEMİŞ’

ENDAS STATU

FROM TABLOM





SP Output Parametrenin Değerine Kod İçinden Ulaşmak

10 12 2007

Sql Serverda hazırladığınız bir procedureden geriye output parametre ile bilgi gönderiyorsanız, gelen bilgiye C# kodu içinde şu şekilde ulaşabilirsiniz :

//sqlCommand1 kullanacağınız command nesnesi

//sqlConnection2 kullanacağınız connection nesnesi

//myprocedure yazdığınız procedure ünüz

//@donenDeger procedurede tanım output parametre 

//işlemimizi sotred procedure ile yapacağımızı belirtiyoruz

sqlCommand1.CommandType = CommandType.StoredProcedure;

//kullanacağımız stored procedureü belirtiyoruz

sqlCommand1.CommandText = “myprocedure”;

//procedurede tanımlı olan parametreyi commandımıza ekliyoruz.

sqlCommand1.Parameters.Add(“@donenDeger”, SqlDbType.NVarChar, 20);

//eklediğimiz parametrenin bir output parametre olduğunu ve geriye bilgi göndereceğini belirtiyoruz.

sqlCommand1.Parameters[“@donenDeger”].Direction = ParameterDirection.Output;

//bağlantımızı açıyoruz

sqlConnection2.Open();

//commandımızın hangi bağlantı üzerinden işlem yapacağını belirtiyoruz

sqlCommand1.Connection = sqlConnection2;

//komutumuzu çalıştırıyoruz

sqlCommand1.ExecuteNonQuery();

//output parametremizden gelen değeri string bir değişkene alıyoruz.

string gelen = sqlCommand1.Parameters[“@donenDeger”].Value.ToString();

textBox1.Text = gelen;





Reverse()

4 12 2007

Reverse fonksiyonu parametre olarak aldığı ifadeyi tersten yazar. Kullanım şekli Reverse(parametre) şeklindedir.

ör:

select Reverse(‘sadullah’) şeklinde bir kullanım geriye ‘halludas’ değerini gönderir.

select Reverse(1234) şeklinde bir kullanım geriye 4321 değerini gönderir.