SQL Server 2005 - Hızlı El Kitabı
Skip Navigation Links.

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.