Home / MAKALELER / Veri Tabanı / SQL Server’da Stored Procedure Örneği

SQL Server’da Stored Procedure Örneği

Merhabalar, Bu yazımda sizlere Stored Procedureleri örneklerle açıklayarak bu konuyu ayrıntılı öğrenmenizi sağlamaya çalışacağım.
Önceki 2 Stored procedure yazımda öncellikle Stored procedure ü kavramsal olarak tanıtmış ardından SQL Server da basit anlamda Stored Procedure oluşturmayı silmeyi ve değiştirmeyi göstermiştim. Stored procedure ler tıpkı fonksiyonlarda (Metot ve yordamlarda aynısı) olduğu gibi Parametre alabilir ve sonuç dönderebilirler. Şimdi bunu aşağıdaki Database Server ın bize sunduğu Default Stored Procedure örneğinde daha ayrıntılı anlatayım.

brk1

Yukarıdaki Default Stored Procedure Örneğini Ayrıntılı olarak Yukarıda Kırmızı yazıyla maddeler halinde belirttiğim bölümleri aşağıda anlatacağım.

1. SET ANSI_NULLS ON : ANSI_NULLS özelliği ON yapıldığında null olan değerlerle  karşılaştırmalar false sonucunu döndürür yani arama listesine dahil edilmez. Dolayısıyla kullanıcıya Null değerli kayıtlar bir şey döndermeyecektir.

2. SET QUOTED_IDENTIFIER ON : SET QUOTED_IDENTIFIER özelliği ON olarak setlendiğinde çift tırnak tanımlayıcıları sınırlandırılabilir ve rakamları tek tırnak işaretleriyle ayrılmış olmalı.  SET QUOTED_IDENTIFIER OFF olarak Setlendiğinde tanımlayıcıları teklif edemez.

3. Bu bölümde Stored Procedure işlemi için DDL (Data Definition Language) dediğimiz (Create,Alter,Drop .. vb…) kodlar olacaktır.Yani bir Procedure ü burdan Create komutuyla oluşturabilir Alter komutuyla var olan bir Stored procedure ü değiştirebiliriz. Bir Stored procedure ün oluşurken ki standartı 3 nolu bölümden de anlaşılacağı üzere CREATE PROCEDURE    <SP Adı> şeklindedir.

4. Bu kısımda eğer yazacağımız Stored procedure müz parametreli olarak kullanılacaksa bu bölüme eklenir eğer gerek duyulmuyorsa boş bırakılır. Aşağıda vereceğim SP örneklerinde hem Parametreli hem parametresiz örnekler sunacağım.

5. SET NOCOUNT ON:  SQL Server da her sorgu koşulduğu zaman sorgunun sonucu, etkilenen satır sayısı sorguyu çalıştıran uygulamaya geri gönderilir.Bazen bu bilgi işimize yarasada, genellikle kullanmayız. Bu komutu SP mize ekleyerek Sql Server ın bu bilgiyi hesaplayıp uygulamaya geri göndermesini engelleyerek Sistem yükünden az da olsa bir kazanç sağlarız.

6. Bu bölümde normal Asp.Net,JSP,PHP vb dillerde yazdığımız SQL Sorgularını yazabiliriz. Select,Insert,Update, Delete komutlarını bu bölümde yazmalıyız.

7. END diyerek Stored procedure müzü sonlandırıyoruz.Kodları genelde Begin-End blogu arasında yazsakta bunları yazmasakta olur .

Şimdi sizlere 2 örnek vereceğim bu örneklerde parametreli ve parametresiz Stored procedure ler bulacaksınızdır.

brk2

Yukarıdaki Parametreli  Stored Procedure örneğini inceleyebilirsiniz. Girdiğim parametrelerin Type larını belirttim. Şimdi bu Stored Procedure ü Exec komutuyla Çalıştırıp derleyip sizlere göstereceğim. Burda şunu hatırlatayım eğer parametreli bir SP yazıyorsanız onu exec ederken parametrelerini mutlaka yazın yoksa hata verecektir. Aşağıda bir Record u Education Tablosuna kaydedeceğim. Exec komutunun parametreli hali aşağıdadır.

brk3

Yukarıdaki yazdığımız EXEC komutunu derledik ve yukarıda da olduğu gibi hata vermedi. Şimdi veritabanımdaki Education tabloma bakıyorum EXEC komutuyla derlediğim SP nin işlevi yerine gelmiş olduğunu göreceksiniz.

brk4

Aşağıdaki Stored procedure örneğinde de parametresiz bir SP görecez.

brk5

Parametresiz bu Stored Procedure ü derlediğimiz zaman başarılı bir şekilde çalıştığını görecez.Ardından yine Exec komutunu kullanarak bu Stored Procedure ü çalıştırıp sonucunu görelim.

brk6

Bu stored procedure örneğini verdikten sonra şimdi de örnek olması açısından oluşturmuş olduğum sp_Egitim_Bilgileri_Gir , sp_Ilan_Detay adlı 2 SP mizi Database Serverdan DROP komutuyla kaldıracam.

brk7

Şimdi Database imde var olan Stored Procedurelerin listesine baktığımda aşağıda gördüğünüz gibi Sildiğim 2 Stored procedure ü göremeyeceksiniz. Çünkü bu 2 SP Database den silindi.

brk8

Böylece bu örneğin ardından bir yazımın daha sonuna gelmiş bulunmaktayım bir sonraki yazımda buluşmak dileğiyle Esen Kalın…..

Mehmet Salih Deveci

 

 

 

 

About Mehmet Salih Deveci

Karadeniz Teknik Üniversitesi Bilgisayar Mühendisliği bölümünden 2011 yılında mezun oldu. C#, ASP.NET ve Oracle, SQL Server Veritabanları Teknolojileri Alanlarında Çalışmalarını Sürdürmektedir. Şuan Türk Telekom A.Ş de Veritabanı Yöneticisi olarak Kariyerini Sürdürmektedir.

İlginizi Çekebilir

SQL Server ile Veri Şifreleme

Bilgi teknolojilerinde verinin güvenliği çok kritik bir öneme sahiptir. Önemli verileri korumak için ekstra bir …

Bir Cevap Yazın