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
![MSSQL'de Stored Procedure Kullanarak Select (Seçme) İşlemi Yapmak](/_d/icerik-dosyalar/183/1.png)
Tablo üzerinde deneyler gerçekleştirmek için içerisine veriler ekliyoruz.
Tablo Verileri
![MSSQL'de Stored Procedure Kullanarak Select (Seçme) İşlemi Yapmak](/_d/icerik-dosyalar/183/2.png)
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
![MSSQL'de Stored Procedure Kullanarak Select (Seçme) İşlemi Yapmak](/_d/icerik-dosyalar/183/3.png)
Prosedürü Çalıştıralım
EXEC SP_Makaleler_Tumu
Sonuç
![MSSQL'de Stored Procedure Kullanarak Select (Seçme) İşlemi Yapmak](/_d/icerik-dosyalar/183/4.png)
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
![MSSQL'de Stored Procedure Kullanarak Select (Seçme) İşlemi Yapmak](/_d/icerik-dosyalar/183/5.png)
Prosedürü Çalıştıralım
EXEC SP_Makaleler_Onayli
Sonuç
![MSSQL'de Stored Procedure Kullanarak Select (Seçme) İşlemi Yapmak](/_d/icerik-dosyalar/183/6.png)
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
![MSSQL'de Stored Procedure Kullanarak Select (Seçme) İşlemi Yapmak](/_d/icerik-dosyalar/183/7.png)
Prosedürü Çalıştıralım
EXEC SP_Makaleler_Onaysiz
Sonuç
![MSSQL'de Stored Procedure Kullanarak Select (Seçme) İşlemi Yapmak](/_d/icerik-dosyalar/183/8.png)
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
![MSSQL'de Stored Procedure Kullanarak Select (Seçme) İşlemi Yapmak](/_d/icerik-dosyalar/183/9.png)
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ç
![MSSQL'de Stored Procedure Kullanarak Select (Seçme) İşlemi Yapmak](/_d/icerik-dosyalar/183/10.png)