SQL Server

SQL Server Stored Procedure Oluşturma

SQL Server Management Studio’da Stored(Kayıtlı) Bir Procedure Nasıl Oluşturulur

Bu makalede, SQL stored procedure yada diğer ifade ile saklı yordamı, SQL Server Management Studio’da (SSMS) bir saklı yordamın nasıl oluşturulacağını öğreneceksiniz.

Bu makale aşağıdaki soruların cevaplarını kapsar:

  • SQL stored procedure nedir?
  • SET NOCOUNT ON cihazını neden SQL stored procedurede kullanıyoruz?
  • Kaç türSQL stored procedure var?
  • SQL Server’da yorumlar nasıl yazılır?
  • SQL stored procedure için adlandırma kuralları nelerdir?
  • SELECT SQL sorgusu kullanarak bir veritabanı sekmesinden veri seçmek için saklı bir prosedür nasıl oluşturulur?
  • SQL Server’da saklı yordamlar nasıl yürütülür?
  • Saklı yordamlardaki parametreler nedir?
  • SELECT sorgusu saklı yordamında, geçirilen parametreye göre kayıtları döndüren parametreler nasıl oluşturulur?
  • Saklı yordam tabanlı bir INSERT sorgu oluşturmak nasıl?
  • Bir UPDATE sorgusu tabanlı saklı yordam nasıl oluşturulur?
  • DELETE sorgusu kullanarak kayıtları silmek için saklı bir yordam nasıl oluşturulur?

Stored Procedure Nedir?

Bir SQL stored procedure (saklı yordam) (SP), derlenmiş ve veritabanında depolanan bir SQL deyimleri ve sql komut mantığı koleksiyonudur. SQL’deki saklı yordamlar, sunucuda depolanıp çalıştırılacak SQL sorguları oluşturmamızı sağlar. Saklanan prosedürler de önbelleğe alınabilir ve tekrar kullanılabilir. Doğrudan SQL sorgularını koddan gizlemek ve veri seçme, güncelleme ve silme gibi veritabanı işlemlerinin performansını iyileştirmek saklı yordamların genel amacıdır.

SET NOCOUNT ON ifadesini neden saklı bir prosedürde kullanıyoruz?

SET NOCOUNT ON ayarını yaparken, etkilenen satır sayısını gösteren hiçbir mesaj olmadığı anlamına gelir.

NOCOUNT, ON olduğunda sayma anlamına gelir.

SET NOCOUNT OFF olduğunda ne olduğunu şimdi öğreneceksiniz.

Saklı işlem türleri

SQL Server’da kullanılabilen iki tür saklı yordam vardır:

  • Kullanıcı tanımlı saklı yordamlar
  • Sistem saklı yordamlar

Kullanıcı tanımlı saklı yordamlar

Kullanıcı tanımlı saklı yordamlar, veritabanı geliştiricileri veya veritabanı yöneticileri tarafından oluşturulur. Bu SP’ler, veritabanı tablolarından kayıtları seçmek, güncellemek veya silmek için bir tane daha SQL ifadesi içerir. Kullanıcı tanımlı saklı yordam, giriş parametrelerini alabilir ve çıkış parametrelerini döndürür. Kullanıcı tanımlı saklı yordam DDL (Veri Tanım Dili) ve DML (Veri İşleme Dili) komutlarının karışımıdır.

Kullanıcı tanımlı SP’ler ayrıca iki türe ayrılır:

T-SQL saklı yordamları: T-SQL (Transact SQL) SP’leri parametreleri alır ve döndürür. Bu SP’ler parametreleri olan veya olmayan sorguları Ekleme, Güncelleme ve Silme işlemlerini yapar ve satır verilerini çıktı olarak döndürür. Bu, SP’leri SQL Server’da yazmak için en yaygın yollardan biridir.

CLR saklı yordamları: CLR (Ortak Dil Çalışma Zamanı) SP’ler, C# veya VB.NET gibi bir CLR tabanlı programlama dilinde yazılır ve .NET Framework tarafından yürütülür.

Sistem saklı yordamları

Sistem saklı yordamları, sunucu yönetim faaliyetleri için SQL Server tarafından oluşturulur ve yürütülür. Geliştiriciler genellikle sistem SP’lerine müdahale etmez.

SQL Server veritabanına giriş

SQL Server veritabanımıza giriş yapalım, böylece aşağıdakileri başarabiliriz:

  • Tüm kayıtları döndüren SELECT QUERY tabanlı bir saklı yordam nasıl oluşturulur?
  • Parametrelere dayanarak kayıtları döndüren PARAMETER tabanlı bir SELECT QUERY saklı yordamı nasıl oluşturulur?
  • Saklı yordam tabanlı bir INSERT sorgu oluşturmak nasıl?
  • Bir UPDATE sorgusu tabanlı saklı yordam nasıl oluşturulur?
  • Bir DELETE sorgusu tabanlı saklı yordam nasıl oluşturulur?

SQL SERVER’a giriş yaptıntan sonra. İlgili veritabanı seçip aşağıdaki gibi saklı yordam oluşturuyoruz.

SQL Server tarafından bir SP için oluşturulan boş şablon aşağıdakine benzer. CREATE PROCEDURE SQL komutu bir prosedür oluşturmak için kullanılır, ardından SP adı ve parametreleri kullanılır. BEGIN ve END alanı, işlemin sorgusunu tanımlamak için kullanılır. Sorguları  select, update, insert, ve delete işlemlerinin bulunduğu yerdir.

SQL SERVER içine nasıl yorum yazılır?

Sql sunucusunda aşağıdaki şekillerde yorum yapabilirsiniz,

  1. tek bir yorum satırı için (iki tire / kısa çizgi).
  2. ile başla /* ……. çok satırlı yorumlar için */ ile bitirin.

Saklı yordamlar için adlandırma kuralı nedir?

Projenize ve kodlama politikalarınıza bağlı olabilecek standart adlandırma kurallarına uymalıyız.

Kullanıcı tanımlı saklı yordam adlandırma kuralları için önerilerim, SP adlarınıza aşağıdaki ön eklerden birini eklemektir.

  • sp
  • stp
  • stp_
  • udstp
  • udstp_

Adlandırma kuralları, yalnızca nesneleri tanımlamak içindir. Bu önekleri adına ekleyerek bu nesnenin saklı bir prosedür olduğunu açıkça tespit edebiliriz.

Bir veritabanı tablosu oluşturun

Daha önce herhangi bir SP oluşturup çalıştırabilmek için bir veritabanı tablosuna ihtiyacımız var. Aşağıdaki SQL sorgusunu kullanarak “tblUyeler” adlı bir veritabanı tablosu oluşturup sunucuda çalıştırıyorum. Gördüğünüz gibi, tablomun 3 sütunu var. Tablo oluşturulduktan sonra, SSMS’nizde tabloyu açın ve verileri tabloya elle girerek bazı veriler ekleyin.

Kayıt ekleme

 

SELECT saklı yordamı nasıl oluşturulur?

Veritabanınıza tıklayın ve “Programmability” öğesini genişletin ve “Stored Procedures” üzerine sağ tıklayın veya yeni sorgu penceresi almak için CTRL + N tuşlarına basın. BEGIN ve END arasındaki sorgu alanına tablodan kayıtları seçmek için SELECT ifadenizi yazın. Aşağıdaki koddaki Select ifadesine bakın.

Şimdi, F5’e basın veya SP’yi yürütmek için Yürüt düğmesine tıklayın.

“Command(s) completed successfully. mesajını görmelisiniz.

Şimdi Programmability –>Stored Procedures’e, Sağ Tıklayın  ve Yenile’yi seçin.

Aşağıdaki resimde görebilirsiniz, stpTumUyeler adlı yeni SP oluşturulur.

SQL Server’da saklı yordamları yürütün

Alternatif olarak, Sorgu penceresinden bir SP de çalıştırabilirsiniz.

Saklı yordamı SQL Server Management Studio’da çalıştırmak için yeni bir sorgu penceresi açmak ve aşağıdaki komutu yazın, sorgu penceresine veya CTRL + N’ye geçin.
Sözdizimi – EXEC <saklı yordam adı>
Örnek – EXEC stpTumUyeler
Şimdi stpTumUyeler adlı saklı yordamımızı çalıştırıyoruz. Çıktı aşağıdaki gibi görünüyor:

SQL

Nasıl Saklı yordam tabanlı bir INSERT sorgusu oluşturulur?

Bir tabloya veri eklemek için INSERT INTO SQL sorgusu kullanabiliriz. Aşağıdaki SQL ifadesi, üç parametreli bir INSERT SP oluşturur.

Object Explorer’da saklı yordama sağ tıklayın ve Refresh’i seçin.

Çalıştır iletişim kutusunda parametrenin değerini iletin.

SQL Sorgusu ile procedurü çalıştırmak için aşağıdaki sorguyu kullanabilirsiniz.

Tablodaki kayıtları görmek için daha önce oluşturulan saklı yordamı yada SELECT sorgusunu çalıştırabilirsiniz.

Yukarıdaki ifadelerden her hangi biri çalıştırıldığında çıktı aşağıdaki gibi görünecektir.

 

 

 

 

Yorum bırak