Stored Procedureler Sql ‘de işlemler bütününü çalıştırmak için derlenen özel sonuçlar üreten bileşenlerdir. Stored Procedure kullanım avantajları çoktur bunlardan birkaçı; tekrar tekrar kullanım olanağı sağlaması, birkaç sorguyu biranda sorgulama olanağı gibi kolaylık sağlamaktadır.
Stored Procedure oluşturmanın genel kullanımı şu şekildedir;
[cc lang=”sql”]
CREATE PROC procedureadi
AS
BEGIN
sorgular
END
go
EXEC procedureadi — oluşturulan procedure çalıştırmak için
[/cc]
Alttaki örnek Stored Procedure uygulamaları ile daha iyi anlaşılacağını umuyorum.
Ör.1 Aynı anda üç sorgu sonucu ekrana veren bir sp(Stored Procedure) yazalım; (Örneklerimiz Northwind üzerinden çalışmaktadır)
[cc lang=”sql”]
create proc sp_ucsorgu
as
begin
select * from Customers
select * from Products
select * from [Order Details]
end
go
exec sp_ucsorgu[/cc]
Ör.2 Products tablosundaki kategorisi sadece 5 olanları gösterme
[cc lang=”sql”]
create proc sp_kategoriye (@katid int)
as
begin
select * from Products where CategoryID=@katid
end
go
exec sp_kategoriye 5
[/cc]
Ör.3 Products tablosuna ürün eklemek
[cc lang=”sql”]
create proc sp_urunukaydet (@urunadi nvarchar(20), @katid int, @fiyat money, @stok int)
as
begin
insert into Products (ProductName, CategoryID, UnitPrice, UnitsInStock) values (@urunadi, @katid, @fiyat, @stok)
end
go
exec sp_urunukaydet ‘armut’,23,5,12 — armut kategoriid fiyatı ve stok miktarını virgüller ile ayırarak ekliyoruz.
[/cc]
Bu procedure ile birlikte exec sp_urunukaydet yazıp istediğimiz kadar ürün ekleyebiliriz.
Kaynak : Cemal Can AKGÜL (Bilge Adam Yazılım Eğitmeni)