Bu konuda Microsoft SQL Server'ın bize sağlamış olduğu faydalardan biri olan Stored Procedure özelliğini tanıyacağız.Stored Procedure ile hazır SQL cümleleri, satırları oluşturabiliriz.Bu SQL komutlarını sayfadan çağırdığımızda SQL Server tarafından işletildiği için az da olsa bize hız ve zaman sağlayacaktır.
Bu Stored Procedure leri sayfamızdan çağırırken
<% Set ObjRS = ObjConn.Exeucute("Exec SpAdı") %>
şeklinde çağırırız.Burada ObjConn veritabanı bağlantınız olmalıdır.SpAdı diye belirttiğim ise oluşturacağımız Stored Procedure ün adıdır.
Stored Procedure oluştururken ilk olarak Enterprise Manager'ınızı açın.Sonra grupbunuzun içindeki databeses içindeki kullanıcı isminizi seçin ve Stored Procedure bölümüne gelin.Burada system tarafından oluşturulmuş Sp (Stored Procedure)ler görebilirsiniz.Onları ellememize gerek yoktur.
Sağ penceredeki Stored Procedurelerin olduğu alana sağ tıklayıp "New Stored Procedure"e tıklayın.
Karşınıza alttaki gibi bir pencere gelmiş olması gerekiyor.
Orada yazan
CREATE PROCEDURE [OWNER].[PROCEDURE NAME] AS
komutu bizim kullanacağımız bölümdür.
Burada
[Owner] : Owner ile kullanıcı adınız belirtilmesi istenmiştir.Bu ismi Security bölümündeki Usersdan görebilirsiniz.Veritabanınıza bağlanırken ki kullandığınız Login adıdır.
[PROCEDURE NAME] : Burada ise oluşturacağınız Procedure ün adını yazmalısınız.Herhangi bir isim olabilir.
Son olarak bir örnek yapalım.
Yeni bir tablo oluşturalım ve içinde fldID(AutoNumber),fldisim(char) adlarında 2 adet alan oluşturalım ve isminide tblisimler olarak yazalım.
SQL Server'da tablo ve alan oluşturma işlemlerini daha önceki MS SQL Server adlı yazı dizimizden öğrenebilirsiniz.
Tablomuzu oluşturduktan sonra içine 2-3 tane kayıt girin.
Login adımızın ise ASPRehberi olduğunuz varsayıyorum.Bu ismi kendi login adınıza göre değiştirmelisiniz.
Bu işlemler bittikten sonra Stored Procedure bölümüne gelin ve New Stored Procedure 'e tıklayın.
Oraya aynen
CREATE PROCEDURE [ASPRehberi].[sp_Deneme]
AS
Select fldID,fldisim From tblisim
Go
şeklinde bir komut girin.Burada login adınız önemlidir.Kendi login adınızı yazmalısınız.
Böylece Örnek tablomuzdan bütün verileri seçtik.Buraya aynı SQL komutlarınızı girebilirsiniz.
ASP sayfamızdan ise bunu çağırmak için veritabanı bağlantınızı yaptıktan sonra
<%
'ObjConn adında SQL Server Veritabanı bağlantısı yapıldı
Set ObjRS = ObjConn.Execute("Exec sp_Deneme")
Do Until ObjRS.Eof
Response.Write ObjRS("fldisim") & "<br>"
ObjRS.Movenext
Loop
%>
şeklinde bir kod ile tablodaki verilerimizi döngü yardımıyla sıralıyoruz.Stored Procedure'ü Exec ve ismini yazarak çağırıyoruz.Yazmış olduğunuz SQL komutu aynen işletiliyor ve bu azda olsa bir hız sağlayabiliyor.
Stored Procedure'lerde sayfalarınızdaki değişkenleride kullanabiliyorsunuz.Örnek, Almış olduğunuz bir Querystringdeki ID ye göre kayıt seçtirmek gibidir.Bu konuya ise bir sonraki Makalemizde devamında bulabilirsiniz.
Bu Stored Procedure leri Query Analyzerınızı açtıktan sonra boş olan ekrana
Exec SpAdı
şeklinde yazarakda çalıştırıp görebilirsiniz.
Procedure oluşturulurken Check Syntax diyerekde yazmış olduğunuz SQL komutunun doğruluğunu test edebilirsiniz.
Bir sonraki Makalede Stored Procedurelerde değişken kullanımını anlatacağım.
Stored Procedure ler ile ilgili anlamadığınız yerleri ve sorularınızı forumlarda bize sorabilirsiniz.
Not : Yorumlar zamana göre
son yorumdan ilk yoruma doğru(azalan) biçimde sıralanmıştır. Yorumlarınız site yöneticileri tarafından onaylandıktan sonra eklenecektir.
+ peki prosedürün out tipinde parametresi varsa nasıl alınır