20 Ağustos 2010 Cuma

Sql'de Stored Procedure

Sql'de en cok kullanilan yapilardan biri de stored procedurelerdir. Ozellikle yaptigimiz projeye veri getirmek, veri eklemek, veri silmek gibi veri islemleri stored procedure yardimiyla yapilir. Simdi basit olarak sp'lerin sql icerisinde nasil tanimlandiklarini, nasil calistirildiklarini ve var olan sp'lerin sql icerisinde nerede saklandiklarini kisaca inceleyelim.

CREATE PROC KategoriEkle(@KategoriAdi NVARCHAR(50))
AS
BEGIN
INSERT INTO Kategori(KategoriAdi) VALUES (@KategoriAdi)
END

Gordugunuz uzere Kategori tablosuna kategoriAdi ekleyen kisa bir stored procedure yazdik. Simdi bunu execute edersek,

EXECUTE KategoriEkle 'Buzdolabi'

Sp'leri execute ederken uyulmasi gereken kural, execute anahtar sozcugunun hemen ardindan sp adi ve parametre aliyorsa parametre ismi.

Stored Procedure'lerin olusturulmasini ve calistirilmasini inceledikten sonra simdi de var olan sp'lerin sql icerisinde nerede saklandigina kisaca bakalim. Yazdigimiz sp'ler object explorerda ilgili database'in icerisinde programmability icerisindeki stored procedure dosyasinin icinde saklanmaktadir.



Ipucu: Stored procedure'ler yukaridaki ornek gibi parametre alabilirken, parametre almayan versiyonlari da mevcuttur. Peki eger bir sp parametre almiyorsa, view'dan farki nedir?

Cevap: Performans olarak Sp'ler View'lara gore daha basarilidir. Fakat biz sorgumuzda sorgu icerisinde bir sorgu daha kullanirsak (join,group by,order by ...vs.) viewlari tercih ederiz cunku Storep Procedureler buna izin vermezler.

0 yorum: