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ç
