|
Stored Procedure - MSSQL
Aug 04,2007 00:00
by
dragon111
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ı bize sorabilirsiniz. |