|
STORED PROCEDURES
Store Procedure parametre alan,
scalar ve result set türünde değerler döndürebilen,içinde INSERT,UPDATE,DELETE gibi
işlemleri yapabileceğimiz program birimidir.
Aşağıda tanımı verilen takım tablosuna
yeni bir kayıt ekleyelim ve ekleme sonunda,Id için verilen değeri geri döndüren
bir store procedure gerçekleştirelim.Id alanı IDENTITY bir alan olduğu için bu değeri
biz veremiyoruz.Otomatik olarak verilen bu değeri Store Procedure bir şekilde geri
döndürecektir.Store Procedure yazarken şifreleyerek yazalım ki ileride biri yazdığımız
T-SQL komutlarını göremesin.Şifreleme işlemi Function’larda da mevcuttur.
|
CREATE
TABLE Takim
(
Id
INT
IDENTITY(1,1)
NOT NULL,
TakimAd
NVARCHAR(50) NULL,
KurulusYil
INT NULL,
Stad
NVARCHAR(50)
NULL,
Baskan
NVARCHAR(50) NULL,
CONSTRAINT
PK_Takim PRIMARY KEY(Id)
)
|
|
|
CREATE
PROCEDURE TakimEkle(
@id
INT
OUTPUT,
@takimAd
NVARCHAR(50),
@kurulusYil
INT,
@Stad
NVARCHAR(50),
@Baskan
NVARCHAR(50)
)
WITH
ENCRYPTION
AS
BEGIN
INSERT
INTO Takim VALUES(@takimAd,@kurulusYil,@Stad,@Baskan)
SELECT
@id = @@IDENTITY
END
|
Oluşturduğumuz bu Store procedure
kullanmak için şu komutları yazalım;
|
DECLARE
@Id INT;
EXEC
TakimEkle @Id OUTPUT,'Beşiktaş',1903,'İnönü','Yıldırım
Demirören'
SELECT @Id
|
Gördüğünüz gibi öncelikle @Id isminde
değişken tanımlanmış ve store procedure’e OUTPUT parametresi olarak gönderilmiştir.Store
Procedure’leri kullanmak için EXEC komutunu kullanıyoruz.
ADO.NET içinde ise SqlCommand’ın
CommandType özelliği StoreProcedure olarak ayarlayıp ExecuteNonQuery() metodunu
çağırmamız gerekmektedir.
|