SEO (Arama Motoru Optimizasyonu) Mikro İnteraktif ÜCRETSİZ - Google Play'den İndirin

MsSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı

SQL dilinde, Stored Procedure (Saklı Yordam) üzerinde veri ekleme (insert), veri güncelleme (update), veri silme (delete) örneğimiz.

Diyelim ki, bir üye kayıt sistemi yapıyorsunuz ve de bu sistemde üyeye ait kullanıcı adı, şifre, e-posta adreslerinin bulunduğu bir tablonuz mevcut. Bu tabloya yeni üye kaydı yapılırken kullanıcı adı ve e-posta kontrolü yapan uygulamadır. Eğer ki kullanıcı adı daha önceden kayıtlı ise sonuç olarak bize -2 değerini, e-posta adresi daha önceden kayıtlı ise sonuç olarak bize -1 değerini verecektir. Kayıt başarılı bir şekilde gerçekleşirse sonuç olarak bize kaydı gerçekleşen üyenin ID değeri görünecektir. Öncelikle veritabanımızdaki tabloyu oluşturalım.

Tablomuzu Oluşturalım

Üyelerin bulunduğu tablo (tblUyeler)
CREATE Table tblUyeler
(
uye_ID INT PRIMARY KEY IDENTITY,
kullanici_adi nvarchar(50),
sifre nvarchar(50),
e_posta nvarchar(50),
tarih datetime DEFAULT GETDATE(),
durum bit DEFAULT 0
)

Oluşan tablomuzun ekran görüntüsünü paylaşalım.
Oluşan tblUyeler tablosu
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı T-SQL

Üye Ekleyen Stored Procedure

Şimdi ise üye kaydını gerçekleştiren Stored Procedure kodlarını yazalım. Üye kaydının gerçekleşebilmesi için kullanıcı adı ve e-posta adresi bir başka kullanıcıda olmamalıdır. Bu yüzden üye kaydı gerçekleşmeden önce bu kayıtların varlığı sorgulanmalıdır.
- Prosedür içerisinde aynı kullanıcı ad ve e-posta ile daha önceden kayıt var mı diye kontrol mekanizmasını da eklemeyi unutmayalım.
- Aynı kullanıcı adı ile bir daha kayıt olunmak istendiğinde SP "-2" değerini dönecek.
- Aynı e-posta ile bir daha kayıt olunmak istendiğinde SP "-1" değerini dönecek.
Eğer ki her şey sorunsuz bir şekilde ilerleyip üye kaydı başarılı bir şekilde gerçekleşirse SP son kaydın ID değerini dönecek.
Stored Procedure (Üye Ekleyen)
CREATE PROCEDURE Sp_Uye_Ekle
(
   @kullanici_adi nvarchar(50),
   @sifre nvarchar(50),
   @e_posta nvarchar(50),
   @durum bit,
   @Sonuc int output
)
AS
   DECLARE @kullanici_adi_var INT
   DECLARE @e_posta_var INT
   Select @kullanici_adi_var = COUNT(uye_ID) from tblUyeler WHERE kullanici_adi = @kullanici_adi
   Select @e_posta_var = COUNT(uye_ID) from tblUyeler WHERE e_posta = @e_posta
   IF @kullanici_adi_var > 0
      BEGIN
         SET @Sonuc = -2
      END
   ELSE IF @e_posta_var > 0
      BEGIN
         SET @Sonuc = -1
      END
   ELSE
      BEGIN
         INSERT INTO tblUyeler (kullanici_adi, sifre, e_posta, durum) values(@kullanici_adi, @sifre, @e_posta, @durum)
         SET @Sonuc = @@IDENTITY
      END
   SELECT @Sonuc

Üye Ekleyen Stored Procedure Çalıştıralım

Prosedür oluşturulduk. Bu prosedürü kullanarak birkaç tane üyeyi kayıt etmeye çalışalım.
İlk Üyeyi Ekleyelim
DECLARE @Sonuc INT
EXEC Sp_Uye_Ekle 'serkan', 'şifre1', 'serkan@mail.com', 1, @Sonuc
Çalışan Yordamın Ekran Görüntüsü
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı, Insert

Eklediğimiz Üyenin Bilgileri
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı, Eklenen Kayıt Bilgileri

İkinci Üyeyi Ekleyelim
DECLARE @Sonuc INT
EXEC Sp_Uye_Ekle 'ahmet', 'şifre2', 'ahmet@mail.com', 1, @Sonuc
Çalışan Yordamın Ekran Görüntüsü
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı, Çalışan Yordamın Ekran Görüntüsü

Eklediğimiz Üyenin Bilgileri
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı, Eklediğimiz Üyenin Bilgileri

Üçüncü Üyeyi Ekleyelim
DECLARE @Sonuc INT
EXEC Sp_Uye_Ekle 'mehmet', 'şifre3', 'mehmet@deneme.com', 1, @Sonuc
Çalışan Yordamın Ekran Görüntüsü
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı, Eklenen Kayıt Bilgileri

Eklediğimiz Üyenin Bilgileri
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı, Eklediğimiz Üyenin Bilgileri

Aynı Kullanıcı Adına Sahip Birini Tekrar Eklemeye Çalışalım

Kullanıcı adı ahmet olan üyeyi yeniden eklemeye çalışalım
Aynı Kullanıcı Adına Sahip Kayıt Ekleyelim
DECLARE @Sonuc INT
EXEC Sp_Uye_Ekle 'ahmet', 'şifre4', 'info@abc.com', 1, @Sonuc
Çalışan Yordamın Ekran Görüntüsü
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı, Kayıt Var Uyarısı

Görüldüğü gibi bize -2 değerini verdi yani "bu kullanıcı adı kayıtlı".
Mail adresi serkan@mail.com olan üyeyi yeniden eklemeye çalışalım
Aynı E-Posta Adresine Sahip Kayıt Ekleyelim
DECLARE @Sonuc INT
EXEC Sp_Uye_Ekle 'veli', 'şifre5', 'serkan@mail.com', 1, @Sonuc
Çalışan Yordamın Ekran Görüntüsü
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı, Kayıt Var Uyarısı

Görüldüğü gibi bize -1 değerini verdi yani "bu mail adresi kayıtlı".

Üye Bilgilerini Güncelleyen SP

Güncellenecek üyenin kullanıcı adı kendisi hariç bir başka üyede varsa sonuç olarak bize -2 döncektir.
Güncellenecek üyenin e-posta adresi kendisi hariç bir başka üyede varsa sonuç olarak bize -1 döncektir.
Eğer ki güncelleme başarılıysa sonuç olarak bize 1 döncektir.
Stored Procedure (Güncelleme)
CREATE PROCEDURE Sp_Uye_Guncelle
(
   @uye_ID INT,
   @kullanici_adi nvarchar(50),
   @sifre nvarchar(50),
   @e_posta nvarchar(50),
   @durum bit,
   @Sonuc int output
)
AS
   DECLARE @kullanici_adi_var INT
   DECLARE @e_posta_var INT
   Select @kullanici_adi_var = COUNT(uye_ID) from tblUyeler WHERE uye_ID <> @uye_ID AND kullanici_adi = @kullanici_adi
   Select @e_posta_var = COUNT(uye_ID) from tblUyeler WHERE uye_ID <> @uye_ID AND e_posta = @e_posta
   IF @kullanici_adi_var > 0
      BEGIN
         SET @Sonuc = -2
      END
      ELSE IF @e_posta_var > 0
         BEGIN
            SET @Sonuc = -1
         END
      ELSE
         BEGIN
            UPDATE tblUyeler SET kullanici_adi = @kullanici_adi, sifre = @sifre, e_posta = @e_posta, durum = @durum WHERE uye_ID = @uye_ID
               SET @Sonuc = 1
         END
   SELECT @Sonuc

2 numaralı üyeyi, yani kullanıcı adı ahmet olan üyenin bilgilerini güncelleyelim.
İkinci Üyenin Bilgilerini Güncelleyelim
DECLARE @Sonuc INT
EXEC Sp_Uye_Guncelle 2, 'ahmet', 'yenişifre', 'ahmet@mail.com', 0, @Sonuc

Çalışan Yordamın Ekran Görüntüsü
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı T-SQL

Güncellenen tblUyeler tablosu
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı T-SQL

3 numaralı üyeyi, yani kullanıcı adı mehmet olan üyenin bilgilerini güncelleyelim. Diyelim ki bu kullanıcının kullanıcı adını serkan olarak belirleyelim
Üçüncü Üyenin Bilgilerini Güncelleyelim
DECLARE @Sonuc INT
EXEC Sp_Uye_Guncelle 3, 'serkan', 'şifre3', 'mehmet@deneme.com', 0, @Sonuc

Çalışan Yordamın Ekran Görüntüsü
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı T-SQL

Görüldüğü gibi bize -2 değerini verdi yani "bu kullanıcı adı bir başka üyeye ait" böylece güncelleme yapılmamış oldu.
1 numaralı üyeyi, yani kullanıcı adı serkan olan üyenin bilgilerini güncelleyelim. Diyelim ki bu kullanıcının e-mail adresini mehmet@deneme.com olarak belirleyelim
Birinci Üyenin Bilgilerini Güncelleyelim
DECLARE @Sonuc INT
EXEC Sp_Uye_Guncelle 1, 'serkan', 'şifre1', 'mehmet@deneme.com', 1, @Sonuc
Çalışan Yordamın Ekran Görüntüsü
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı T-SQL

Görüldüğü gibi bize -1 değerini verdi yani "bu mail adresi bir başka üyeye ait" böylece güncelleme yapılmamış oldu.

Üyeyi Silen SP

CREATE PROCEDURE Sp_Uye_Sil
(
   @uye_ID INT,
   @Sonuc NVARCHAR(20) output
)
AS
   DECLARE @Uye_Var INT
   Select @Uye_Var = COUNT(uye_ID) from tblUyeler WHERE uye_ID = @uye_ID
   IF @Uye_Var > 0
      BEGIN
         DELETE FROM tblUyeler WHERE uye_ID = @uye_ID
         SET @Sonuc = 'üye silindi'
      END
   ELSE
      BEGIN
         SET @Sonuc = 'üye bulunamadı'
      END
   SELECT @Sonuc

5 numaralı üyeyi silmeyi deneyelim (olmayan bir kullanıcıyı)
Silme İşlemi
DECLARE @Sonuc NVARCHAR(20)
EXEC Sp_Uye_Sil 5, @Sonuc

Çalışan Yordamın Ekran Görüntüsü
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı T-SQL

1 numaralı üyeyi, yani kullanıcı adı serkan olan üyeyi silmeyi deneyelim
Silme İşlemi
DECLARE @Sonuc NVARCHAR(20)
EXEC Sp_Uye_Sil 1, @Sonuc

Çalışan Yordamın Ekran Görüntüsü
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı T-SQL

Güncellenen tblUyeler tablosu
MSSQL Üzerinde Stored Procedure (Saklı Yordam) Kullanımı T-SQL

Görüldüğü gibi 1 numaralı üye silindi.

Yorumlar

Yorum Yaz

Avatar

REKLAM

DDos Koruma, Botnet Koruma, Layer 7 Saldırı koruması, Sanal sunucu, Vds sunucu

REKLAM

En Yeni Çizgi Filmler, Masallar ve Etkinlikler

REKLAM

SEO-Arama Motoru Optimizasyonu Uygulaması

REKLAM

Hayvan Sesleri Uygulaması

REKLAM

Çocuk Etkinlikleri Uygulaması

EN

  • Popüler
  • Yeni
  • Son Yorum