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.