Stored Procedure (Saklı Yordamlar)

SQL ifadelerini her çalıştırmamızda sunucuda işlemlerin yapılması için derlemenin tamamlanması beklenir. Bir süre sonra yavaşlamalar meydana gelir ve çeşitli hatalar alarak sunucuya erişim sağlanamayabilir. Yavaşlamaların önüne geçmek için Stored Procedure yani Saklı Yordamlar kullanılır.

Saklı yordamlar ile yazılan SQL kodları birkez derlenir ve bir daha derlenmeden doğrudan çalışır. Buda sistem performansında büyük rahatlık yaşatarak hızlı işlemesini sağlar.

Stored Procedure çeşitleri:

  • System Stored Procedure(Sistem Saklı Yordamlar)
  • Extended Stored Procedure(Genişletilmiş Saklı Yordamlar)
  • Local Stored Procedure(Yerel Saklı Yordamlar)

System Stored Procedure

SQL Server tarafında hazır olarak bulunan ver her birinin önünde sp_ ön eki bulunan yordamlardır. Master veritabanında saklanan bu yordamların bazıları aşağıda verilmiştir.

Yordam Açıklama
sp_addmessage Kullanıcı tanımlı hata mesajı oluşturmak için kullanılır. Hata mesajlarının numarası 50000’den büyük olmalıdır.
sp_addtype Kullanıcı tanımlı veri tipi oluşturmak için kullanılır. Oluşturulan veritipleri sistem veri tipleri üzerinden oluşturulur.
sp_attach_DB Var olan bir veritabanını sunucuya eklemek için kullanılır.
sp_detach_db Sunucuya eklenen veritabanını çıkarmak için kullanılır.
sp_configure Sunucuyla ilgili konfigurasyon bilgilerini almaya ve değiştirmeyi sağlar.
sp_addlogin SQL Server’a bağlanacak yeni kullanıcı tanımlamada kullanılır.
sp_adduser Aktif veritabanına kullanıcı eklemek için kullanılır.

Yukarıda bazı sistem saklı yordamlarına dair örnekler ve açıklamalarına yer verdik.

Extended Stored Procedure

Harici bir dil kullanılarak hazırlanmış ve DLL dosya içinde barındırılan fonksiyonlardan oluşur. Master veritabanı üzerinde tanımlıdırlar.

Yordam Açıklama
xp_cmdshell MS-DOS komut istmeiine komut göndermek için kullanılır. SQL Server üzerinde varsayılan olarak kapalıdır
xp_create_subdir SQL Server üzerindne klasör oluşturmayı sağlar
xp_fileexist Bir dosyanın olup olmadığını kontrol etmek için kullanılır.
xp_subdirs Alt dizinleri listelemek için kullanılır.

Local Stored Procedure

Yerel saklı yordamlar, kullanıcı tarafından oluşturulan saklı yordamlardır. Aşağıda kullanım şekli verilmiştir.

YORDAM_ISMI: Oluşturulacak yordam için isim belirtilir. Aynı isme sahip iki yordam olamaz.

NUMBER: Kullanım zorunluluğu yoktur. Aynı isme sahip yordamları numaralandırmak için kullanılır. MUSTERI;1, MUSTERI;2 gibi…

@PARAMETRE: Yordama dışarıdan parametre gelecekse kullanılır. Parametre ismi @ işareti ile başlamak zorundadır.

VERI_TIPI: Parametreler için kullanılacak veri tipidir. INT, VARCHAR gibi

DEFAULT: Parametreler için kullanılacak varsayılan değerlerdir. Varsayılan değer tanımlanır ve parametre için değer tanmlanmazsa varsayılan değer kullanılır.

OUTPUT: Yordamdan dönen değerler için kullanılır.

WITH: {REOCMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION } ile kullanılır. RECOMPILE; yordamın her çalıştırılmasında yeniden derlenmesini sağlar. ENCRYPTION; yordamın orjinal kodunu gizlemek için kullanılır.

AS: Yordamın gerçekleştireceği işlemleri belirler.

SQL KODLARI: Yordam içerisinde gerçekleştirilecek sql kodları  yazılır.

Yukarıda ki örnekde en basit haliyle parametre vs.almadan saklı yordam oluşturulup sadece sql sorgusu yollanmıştır. Saklı  yordam sunucuya gönderildikten sonra adıyla çağrılarak aynı işlem tekrar derlenmeden kayıtlar ekrana getirilmiştir.

t-sql-stored-procedure

Ekran çıktısı yukarıda ki gibidir. Parametreler alan saklı yordamlar bir sonra ki yazıda gelecektir.


Yazılıma olan tutkusu için Trakya Üniversitesi - Bilgisayar Teknolojisi ve Bilişim Sistemleri öğrencisi, bölüm temsilcisi ve Keşan Yusuf Çapraz Uygulamalı Bilimler Yüksekokulu okul temsilcisi olarak öğrenimini 2016'da tamamladı. Junior Java Developer olarak aktif iş hayatına devam etmektedir.

Yazıyı Paylaş

Related Articles

Yorum Yaz

© 2019 Onur Arslan. Tüm Hakları Saklıdır. · RSS Yazıları · RSS Yorumları