Stored Procedure ler program yapısı olarak c# daki methodlara benzer. Bir işlemi birden fazla kullacak isek o işlemi SP(Stored Procedure) haline getirebiliriz. SP ler server ortamında saklanırlar. Bir SP maxsimum 32 farklı SP çağırabilir. Veri tabanının Programmability klasörün altında Stored Procedures klasörünün altında saklanırlar. SP için create, drop, alter ile oluşturabilir, silebilir veya düzenleyebiliriz. Sistem tarafından yazılmış SP bulunmaktadır. Çalıştırmak için
exec Procure_ismi parametre1, parametre2,parametre3 gibi yazım formatı bulunmaktadır.
CREATE PROCEDURE Ekle (@id int, @name nvarchar(120))
AS
BEGIN
SET NOCOUNT ON
IF @name is null or @id is null
--Bizim için bir şey ifade etmeyeceği için boş değer döndüreceğiz.RETURN 0
RETURN 0
ELSE IF EXISTS(SELECT * FROM Artist WHERE ArtistId=@id)
--bir artist var ise
UPDATE Artist SET Name=@name
WHERE ArtistId=@id
ELSE
--yoksa bu artisti ekle
INSERT INTO Artist(Name)
VALUES (@name)
END
SET NOCOUNT OFF
GO
SP oluşturduktan sonra geldik bunu çalıştırmaya.
exec ekle 350,'Tarkan'
--Yazarsak ekleme yapacak
exec ekle 2,'Tarkan'
--yazaıp çalıştırsak 2 nolu artist olcağı için günceleme işlemi yapacaktır.
Dosya ekinde kullanılan chinook veri tabanının shema ve data script dosyası verilmiştir. Sizler sreate deyimiyile bu veri tabanını oluşturun ve ekteki script dosyasını çalıştırnız
Chinook veri tabanını elde etmeniz için bir çok bulunmaktadır. bunlardan ilki Nuget Console den yüklenmektir. Bunun için gerekli açıklama sayfısını burdan görebilirsiniz.
Farklı serverlar için oluşturulmuş scriptler gerekiyorsa, Mesala SQL Server 201, bunun için buradan bilgi alabilir veya indirebilirsiniz.
Makale dosya ekinde bu veritbanını genel bir scripti eklenmiştir.
Chinook.sql (2,36 mb)