Makaleler adlı tablomuzu oluşturalım.
Makaleler Tablosu
CREATE TABLE [tblMakaleler] ( [makale_ID] INT PRIMARY KEY NOT NULL IDENTITY(1,1), [baslik] NVARCHAR(255), [ozet] NVARCHAR(1000), [icerik] NVARCHAR(MAX), [eklenme_tarihi] DATETIME NULL DEFAULT (getdate()), [yayin_durumu] TINYINT DEFAULT ((0)) )
Tablomuzun oluştuğuna dair görseli paylaşalım.
Tablo Oluştu
Tablo üzerinde deneyler gerçekleştirmek için içerisine veriler ekliyoruz.
Tablo Verileri
Ne kadar makale varsa hepsini listelemek istediğimizi düşünelim. Burada yaptığımız klasik "Select" sorgusunu prosedür içerisinde belirterek koşullarımıza uygun verileri her daim çağırmaya hazır bekletiyoruz.
Tümünü Listeleyen Prosedür
CREATE Proc [SP_Makaleler_Tumu] AS BEGIN SELECT baslik, ozet FROM tblMakaleler END
Prosedürümüz veritabanında oluşmuştur. Daha sonra bunu çağırarak verilerimizi listeleyelim.
Prosedür Oluştu
Prosedürü Çalıştıralım
EXEC SP_Makaleler_Tumu
Sonuç
Yayın durumu 1 olan makaleleri listeleyelim (Onaylı makaleler).
Onaylılar
CREATE Proc [SP_Makaleler_Onayli] AS BEGIN SELECT baslik, ozet FROM tblMakaleler WHERE yayin_durumu = 1 END
Prosedür Oluştu
Prosedürü Çalıştıralım
EXEC SP_Makaleler_Onayli
Sonuç
Yayın durumu 0 olan makaleleri listeleyelim (Onaysız makaleler).
Onaysızlar
CREATE Proc [SP_Makaleler_Onaysiz] AS BEGIN SELECT baslik, ozet FROM tblMakaleler WHERE yayin_durumu = 0 END
Prosedür Oluştu
Prosedürü Çalıştıralım
EXEC SP_Makaleler_Onaysiz
Sonuç
Koşul belirterek makaleleri yayınlayalım (Yayın durumunu parametre olarak belirtelim).
Koşullu
CREATE Proc [SP_Makaleler_Kosullu] ( @Yayin_Durumu TINYINT ) AS BEGIN IF (@Yayin_Durumu = 0) BEGIN SELECT baslik, ozet FROM tblMakaleler WHERE yayin_durumu = 0 END ELSE IF (@Yayin_Durumu = 1) BEGIN SELECT baslik, ozet FROM tblMakaleler WHERE yayin_durumu = 1 END ELSE BEGIN SELECT baslik, ozet FROM tblMakaleler END END
Prosedür Oluştu
Yayında olan makaleleri listelemek için @Yayin_Durumu adlı parametre değerini 1 olarak belirlersek istediğimiz sonuca ulaşırız.
Prosedürü Çalıştıralım
EXEC SP_Makaleler_Kosullu 1Sonuç