18 Kas 2011 SQL Server 2012 Release Candidate (RC 0) Çıktı Kategori: SQL Server Etiketler: SQL ServerSQL Server 2012 0 Yorum SQL Server 2012 Release Candidate (RC 0) çıktı. İndirmek ve detayları incelemek için aşağıdaki adresi kullanabilirsiniz.http://www.microsoft.com/download/en/details.aspx?id=28145
26 Eyl 2010 T-SQL İçerisinde Dinamik ORDER BY kullanımı Kategori: SQL Server Etiketler: SQL Server 2008SQL ServerSQL Server 2005 5 Yorum Stored Procedure içerisinde dinamik sıralama yapmak için CASE ifadesini kullanabiliyoruz. Parametreden gelen değeri CASE ifadesi ile kontrol ederek istediğimiz alan adına göre sıralama yapabiliyoruz. İtiraf etmeliyim ki şimdiye kadar bir çok yöntem denemiştim ve hiçbirinden memnun kalmamıştım :) Umarım bu yöntem sizlerinde işine yarar...Declare @SiralamaTipi int =1 -- Buraya yazdığımız değere göre sorgu sonucu farklı şekilde sıralanacak.Select * From Stok.Kategoriler Order ByCase When @SiralamaTipi =1 then KategoriID End Asc, -- KaregoriID'ye göre artan sıralama Case When @SiralamaTipi = -1 then KategoriID End Desc, -- KaregoriID'ye göre azalan sıralamaCase When @SiralamaTipi =2 then KategoriAdi End Asc, -- KaregoriAdi'na göre artan sıralamaCase When @SiralamaTipi = -2 then KategoriAdi End Desc -- KaregoriAdi'na göre azalan sıralama
17 Ara 2006 *.BAT Dosyası İle SQL Server Üzerinde Veritabanı Oluşturma Kategori: SQL Server Etiketler: SQL ServerSQL Server 2005SQL Server 2008 2 Yorum Merhaba arkadaşlar bu makalemizde SQL Server üzerinde bat dosyası aracılığı ile veritabanı oluşturma işleminin nasıl yapıldığına bakacağız.Kendi kisisel bilgisayarımızda ya da firma bilgisayarları üzerinde tasarladıgımız veritabanını müsteri ya da talep edilen noktaya tasırken bir takım sıkıntılar yasarız. Çünkü veritabanını tasırken olusturmus oldugumuz index yapılarını, store procedure, trigger vb. gibi bilgileri kaybedebiliriz. Eger ki birden çok noktaya kurulum yapılması gerekiyorsa bu sıkıntılar daha da artar. Tek nokta için olusturulan veritabanının backup'ını alarak sorunu biraz olsun çözülebilir ama eger birden çok noktaya kurulum yapılıyorsa bu da çözüm olmaz. Çünkü kullanıcı program CD'ni takıp ve setup dosyasını çalıstırıp bir an önce programını kurup kullanmak ister. Bu sıkıntıları gidermek için olusturdugumuz veritabanının script dosyalarını çalıstıracak bir Bat dosyası hazırlayabiliriz. Bu BAT dosyasını da hazırlamıs oldugumuz uygulamada ön-kurulum olarak kurdurarak tasarladıgımız veritabanını istedigimiz noktaya kolayca tasıyabiliriz. Konu ile ilgili örnek bir uygulama yapalım. QueryAnalyser Üzerinde bir DataBase ve bu database'e baglı tablolar olusturalım. Daha sonra script dosyalarını çalıstıracak BAT dosyasını hazırlayalım. Örnek Bunun için ilk olarak Query Analyser ya da SQL SMO açalım. Örnek bir veritabanı olusturalım ve olusturacagımız bu scripti kaydedelim. (CreateDatabase.sql ) Simdi bu tabloya ait Tablolarımızı olusturalım ve yine kaydelim.(CreateTable.sql ) Script Dosyalarını olusturdugumuz dosyanın içine gelip uzantısı BAT olan bir dosya yaratalım. Olusturdugumuz bu doya üzerinde sag tıklayarak düzenle diyerek Notepad da açalım. Içerisine asagıdaki kodları yazalım. echo off cls // Ekranı Temizle type start.txt // Baslangıç için Ekrana verilecek Mesaj pause > Kurulum.log // Kullanıcının devam etmesi için beklet osql -E -S%1 -n -iCreateDatabase.sql>>Kurulum.log //Scripti çalıstırır ve sonucunu kurulum.log dosyasına yazar osql -E -S%1 -n -iCreateTable.sql>>Kurulum.log //Scripti çalıstırır ve sonucunu kurulum.log dosyasına yazar cls // Ekranı Temizle type End.txt // Sonuç için Ekrana verilecek Mesaj pause >> Kurulum.log // Kullanıcının devam etmesi için beklet Del Kurulum.log // Hata vermemisse log dosyasını sil Yukarıda bahsettigimiz start.txt yani baslangıç mesajı için Bat dosyasını olusturdugumuz yerde Start.txt isimli bir dosya yaratalım ve içerisine Baslangıç için bir mesaj yazalım. Benim örnegim asagıdadır. ****** ********************************************************* ***** Kurulumu Baslatmak icin bir tusa basiniz! ***** ********************************************************* **************** Sem Goksu ************************** ********************************************************* ********************************************************* ****** Yine script dosyamız görevini tamamladıktan sonra kullanıcıyı bilgilendirmek için bat dosyasını olusturdugumuz yere end.txt adında bir dosya olusturalım ve sonuç için bir mesaj yazalım. Benim örnegim asagıdadır. ****** ********************************************************* ***** Kurulum Tamamlandi, Tebrikler! ***** ********************************************************* ****** Bunları yaptıktan sonra Kur.Bat dosyamızı çalıstıralım ve dosyamızı test edelim. Dedigini yapalım ve bir tusa basalım :=) Veritabanımızın olusturuldugunu söylüyor. Birde SQL Serveri açalım ve oradan kontrol edelim. Gördügümüz gibi Veritabanımız olusturulmus. Eger ki bu yaptıklarımızı bir programa ön kurulum olarak kurduracaksak Bat dosyamızı asagıdaki gibi degistirebiliriz. echo off cls osql -E -S%1 -n -iCreateDatabase.sql>>Kurulum.log //Scripti çalıstırır ve sonucunu kurulum.log dosyasına yazar osql -E -S%1 -n -iCreateTable.sql>>Kurulum.log //Scripti çalıstırır ve sonucunu kurulum.log dosyasına yazar cls Bu sekil de kurulum asamasında hiçbir uyarı vermez ve veritabanı kurulur. Bu makalenin de sonuna geldik, baska bir makalede görüsmek üzere basarı ve iyi günler dilerim. Sem GÖKSU MCP | MCAD.NET | MCTS Örnek Kodlar için mail adresimi kullanabilirsiniz askisem@hotmail.com Kaynaklar http://msdn.com
26 Kas 2006 Stored Procedures Kategori: SQL Server Etiketler: SQL Server 2 Yorum Stored Procedures SQL Server üzerinde tutulan T-SQL ifadeleridir. Belli bir görevi yerine getirebilmek amacıyla yapılandırılırlar. SQL Server üzerinde derlenirler. Belirlediğimiz şartlara göre, program içinden çağrılarak kullanılırlar.. Stored Procedures SQL Server üzerinde tutulan T-SQL ifadeleridir. Belli bir görevi yerine getirebilmek amacıyla yapılandırılırlar. SQL Server üzerinde derlenirler. Belirledigimiz sartlara göre, program içinden çagrılarak kullanılırlar.. T-SQL deyimleriyle yazılan Store Procedures sadece ilk kez çalıstırıldıklarında derlenirler. Daha sonraki çalıstırma islemlerinde derlenmezler. Bu sayede çalısmalarımızda hız kazanmıs oluruz. Birkaç çesit stored procedure vardır. Bunlardan bazıları asagıdaki gibidir: System Stored Procedure: sp_ ön eki ile baslayan saklı yordamlar, SQL Server tarafından tanımlanmıs saklı yordamlardır. master veritabanında saklanırlar. Bu Store Procedures, herhangi bir veritabanı üzerinde sistemle ilgili yönetimsel islemler için kullanılırlar. Extended Stored Procedure: Genisletilmis anlamında xp_ ön eki ile baslayan bu saklı yordamlar, SQL Server’ın dısında çalıstırılan dinamik baglantı kütüphaneleridir (DLL). Local Stored Procedure: Biz de SQL Server üzerinde saklı yordamlar olusturabiliyoruz. Bunlara da yerel store procedures denir. Olusturdugumuz veritabanının Stored Procedure alt baslıgı altında, yerel saklı yordamlarla ilgili, stored procedure ekleme, silme, düzeltme gibi islemleri gerçeklestirebiliriz. Olusturdugumuz veya var olan saklı yordamları kullandıgımızda birçok avantaj elde ederiz. Bunlardan bir kaçı dolayısıyla stored procedurekullanım sebepleri asagıdaki gibidir: - Store procedures, SQL Server’ a esneklik ve hız kazandırırlar. - Önceden derlenmis oldugu için, normal kullandıgımız bir SQL sorgusunun tekrar tekrar çalıstırılmasına nazaran daha fazla performans elde etmemizi saglarlar. - SQL Server üzerinde tutuldugundan, yükü istemci tarafına degil de, sunucu tarafına yükleyerek programımızın performansını arttırır. (Tabi bu bir seçimdir. Sunucumuz güçlüyle bu seçimi tercih edebilirsiniz.) - Bir kez yazılıp, tekrar tekrar kullanıldıgı için modüler bir yapıda program gelistirmis oluruz. - Aynı T-SQL cümlecigini birden fazla yerde kullanacagımız zaman, bunu bir stored procedurehaline getirerek, kullanımını sadece ismini çagırma ile gerçeklestirebiliriz. - Belirli girdi ve çıktı parametreleri oldugu için, saklı yordamların kullanımı ile güvenlik açısıdan kendimizi saglama almıs oluruz. - Ag trafigini azaltır. Istemci tarafından birçok satıra sahip SQL komutunun sunucuya gitmesindense, sadece saklı yordamın adının sunucuya gitmesi agı daha az mesgul etmis olur. Yerel Stored procedureOlusturma Ilk olarak Sql Server'i açarız. Daha sonra Query Analyzaer'i açarız ve asagıdaki kodları yazarız. Asagıdaki store procedure bize müsteriye ait siparisleri geri döndürür. T-SQL deyimleriyle yazılan Store Procedures sadece ilk kez çalıstırıldıklarında derlenirler. Daha sonraki çalıstırma islemlerinde derlenmezler. Bu sayede çalısmalarımızda hız kazanmıs oluruz. Birkaç çesit stored procedure vardır. Bunlardan bazıları asagıdaki gibidir: System Stored Procedure: sp_ ön eki ile baslayan saklı yordamlar, SQL Server tarafından tanımlanmıs saklı yordamlardır. master veritabanında saklanırlar. Bu Store Procedures, herhangi bir veritabanı üzerinde sistemle ilgili yönetimsel islemler için kullanılırlar. Extended Stored Procedure: Genisletilmis anlamında xp_ ön eki ile baslayan bu saklı yordamlar, SQL Server’ın dısında çalıstırılan dinamik baglantı kütüphaneleridir (DLL). Local Stored Procedure: Biz de SQL Server üzerinde saklı yordamlar olusturabiliyoruz. Bunlara da yerel store procedures denir. Olusturdugumuz veritabanının Stored Procedure alt baslıgı altında, yerel saklı yordamlarla ilgili, stored procedure ekleme, silme, düzeltme gibi islemleri gerçeklestirebiliriz. Olusturdugumuz veya var olan saklı yordamları kullandıgımızda birçok avantaj elde ederiz. Bunlardan bir kaçı dolayısıyla stored procedurekullanım sebepleri asagıdaki gibidir: - Store procedures, SQL Server’ a esneklik ve hız kazandırırlar. - Önceden derlenmis oldugu için, normal kullandıgımız bir SQL sorgusunun tekrar tekrar çalıstırılmasına nazaran daha fazla performans elde etmemizi saglarlar. - SQL Server üzerinde tutuldugundan, yükü istemci tarafına degil de, sunucu tarafına yükleyerek programımızın performansını arttırır. (Tabi bu bir seçimdir. Sunucumuz güçlüyle bu seçimi tercih edebilirsiniz.) - Bir kez yazılıp, tekrar tekrar kullanıldıgı için modüler bir yapıda program gelistirmis oluruz. - Aynı T-SQL cümlecigini birden fazla yerde kullanacagımız zaman, bunu bir stored procedurehaline getirerek, kullanımını sadece ismini çagırma ile gerçeklestirebiliriz. - Belirli girdi ve çıktı parametreleri oldugu için, saklı yordamların kullanımı ile güvenlik açısıdan kendimizi saglama almıs oluruz. - Ag trafigini azaltır. Istemci tarafından birçok satıra sahip SQL komutunun sunucuya gitmesindense, sadece saklı yordamın adının sunucuya gitmesi agı daha az mesgul etmis olur. Yerel Stored procedureOlusturma Ilk olarak Sql Server'i açarız. Daha sonra Query Analyzaer'i açarız ve asagıdaki kodları yazarız. Asagıdaki store procedure bize müsteriye ait siparisleri geri döndürür. Store procedure ile yeni bir kayıt eklemek için asagıdaki kodları yazabiliriz. @CategoryName, @Description, @Picture adında dısarıdan 3 deger alır ve bu degerleri yeni bir kayıt olarak ekler. Bu store procedures'i çalıstırmak için yazmamız yeterli olacaktır. Simdi Isterseniz ekledigimiz bu kaydı silelim, Silme islemimizi de yaptıktan sonra artık güncelleme islemini de yapabiliriz Evet store prosedürlerin de sonuna geldik. Bir sonraki makalemizde görüsmek üzere.