folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder MSSQL'de Stored Procedure Kullanarak Select (Seçme) İşlemi Yapmak



MSSQL'de Stored Procedure Kullanarak Select (Seçme) İşlemi Yapmak

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Stored Procedure (Saklı Yordam) kullanarak veritabanı üzerinde select (seçme) işlemini gerçekleştirelim.

    Projelerinizin veritabanı tarafında projeyi hızlı ve güvenli bir şekilde kullanmayı istiyorsa bu önlemlerden birisi de prosedür kullanmak olacaktır. Bu makalemizde veritabanı üzerine yapılan işlemlerde (select, update, delete, insert) "select" sorgusunu örneklerle sizlere aktarmaya çalışacağız.
    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 üzerinde deneyler gerçekleştirmek için içerisine veriler ekliyoruz.

     

    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.

    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ü Çalıştıralım

    EXEC SP_Makaleler_Tumu



    Sonuç

     

    ---------------------------------------------------------------------------------------

    Yayın durumu 1 olan makaleleri listeleyelim (Onaylı makaleler).

    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).

    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).

    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.

    EXEC SP_Makaleler_Kosullu 1

     

    Sonuç

     

    Bol prosedürlü vakitler :)

    Kaynak: http://www.ontedi.com/sql/mssqlde-stored-procedure-kullanarak-select-secme-islemi-yapmak

     

    ontedi tarafından 27/Oca/16 10:20 tarihinde düzenlenmiştir

    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    csfrt
    csfrt's avatar
    Kayıt Tarihi: 22/Nisan/2013
    Erkek

    Güzel paylaşım hocam teşekkürler, keşke dün paylaşsaydınız veri tabanı yönetim sistemleri sınavım vardı :D 


    ruh eşi çok sıradan, bana suç ortağı lazım.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JerusaLem
    JerusaLem's avatar
    Savaş Madalyası Developer Madalyası Üstün Hizmet Madalyası Bilgi/Destek Madalyası
    Kayıt Tarihi: 27/Eylül/2002
    Erkek
    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

    bunun için koşul belirtmeye gerek yok.

    CREATE Proc [SP_Makaleler_Kosullu]
    (
       @Yayin_Durumu TINYINT   
    )
    AS
    BEGIN
       SELECT baslik, ozet FROM tblMakaleler WHERE yayin_durumu=@Yayin_Durumu
    END

    bu örnekte benden olsun.

     

    JerusaLem tarafından 27/Oca/16 15:29 tarihinde düzenlenmiştir

    ey ulu TÜRK öğün, eşin yoktur altında göğün..!
Toplam Hit: 874 Toplam Mesaj: 3
sp sql prosedur saklı yordam örneği