Sql Store Procedure Oluşturma

Posted by

Merhabalar herkese, Sql Store Procedure Oluşturma işlemini örnek kodlarla anlatacağım sizlere.

Sql Store Procedure Oluşturma

Stored Procedure Nedir ?
Stored Procedure’ler database server’da saklanan SQL ifadeleri gibi düşünelebilir. Bir programlama dilindeki fonksiyonlar gibi parametre alabilirler. Bu parametrelere göre bir sorgu çalıştırıp cevap gönderilirebilir. Stored Procedure’ler database server’ında saklanmasından dolayı daha hızlı çalışırlar. Bir stored procedure ilk çalıştırıldığı zaman derlenir. Bir daha çalıştırılınca derlenmeden çalışırlar. Halbuki bir program içinden SQL ifadeleri ile server’a bağlanırsanız her bağlanışta SQL ifadesi derlenir. Bu da zaman kaybı demektir. Stored procedure’un diğer bir özelliği ise programlama deyimleri içermesidir. if, next, set vs.. programlama dillerindekine benzer özellikler sunar. Gelen parametrelere göre sorgu yapılıp sonucun dönmesi sağlanabilir. Bir database oluşturduğunuzda kesinlikle stored procedure kullanmalısınız. Stored Procedure Nasıl Oluşturulur? Birdatabase yaratıldığı zaman Stored Procedures klasörüde yaratılır. O klasörün üstünde sağ tıklanarak yeni bir stored procedure yaratılabilir. Ya da kod ile bir stored procedure oluşturulabilir.Örn;

CREATE PROCEDURE USER_LOGIN_SP
(
@Username VARCHAR(50),
@Pass VARCHAR(50)
) AS
BEGIN
Select * from ApplicationUsers
WHERE Username = @Username AND Password = @Pass
END

EXEC USER_LOGIN_SP 'Alican Çevik' '1234'

USER_LOGIN_SP adında bir procedure oluşturduk ve buna 2 tane parametre tanımladık.AS ile procedure’un yapılacağı işlemin başladığı bilgisi verdik. Begin-End arasında ise yapılacak olan işlemi yazdık ve koşulda yukarıda tanımladığımız parametreleri kullandık. Daha sonradan ise EXEC ile procedure’ u çağırdık ve parametrelerini girdik. Execute ettiğimizde procedure’muz çalışmış olacaktır. Stored Procedure’ler her programcının kullanması gereken önemli konulardan birisidir…

Umarım faydalı olmuştur.

Bir sonraki yazıda görüşmek üzere…

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir