Merhaba Değerli Arkadaşlar…
Bu yazımda sizlere Stored Procedureleri örneklerle açıklayarak daha 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.
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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.
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.
Aşağıdaki Stored procedure örneğinde de parametresiz bir SP görecez.
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.
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.
Ş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.
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…!!
Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi İhtiyacınız var mehmet.deveci@gridgroup.com.tr adresine mail atarak Bizimle iletişime geçebilirsiniz.
– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri