Stored Procedure Nedir?
Veritabanı alanında en önemli konulardan birisidir Stored Procedure. Stored Procedure dediğimiz kavramı bu yazıda açıklayacağım.
Stored Procedure’ler parametre alabilen, parametre almasına gerek kalmayan, kayıt edilebilen, tekrar sorgu edilmesine gerek kalmayan, değer döndürebilen bir yordamdır. Bu yordam işimizi oldukça kolaylaştırmaktadır. Yaptığımız bir yordamı zamanlamayabiliriz.
Stored Procedure’lerin çeşitleride bulunmaktadır. Veritabanı hakkında detaylı bir bilgim olmadığı için detaylandıramayacağım.
Genel olarak bu yordam Server’a göre değişiklik gösterse de syntax’ı aynıdır..
CREATE PROCEDURE yordam_ismi AS BEGIN sql_kodu END GO
Bu yordam geri değer döndürmeyen bir Stored Procedure’dur. Geri dönen yordamın kullanım şekli ise.
CREATE PROCEDURE yordam_ismi @degisken int AS
BEGIN
sql_kodu END GO
[/codesyntax]
Değer göndermeye gerek kalmaya yordam için.
EXECUTE yordam_ismi
Değer göndereceğimiz yordam için.
EXECUTE yordam_ismi sayisaldeger,'varchar_ifade'
Veri tabanlarında procedurler bildiğimiz işçi sınıfıdır.Her toplumda olduğu gibi buradada en önemli sınıftır :).
Yetki bulunması durumunda her yerden kolayca ulaşılabilinir.İçerisinde tablolara veri ekleme,çıkarma,güncelleme tablo ismi değiştirme,yetkilendirme gibi bir çok işlem yapılabilir.
Çok fazla sorgu ve kendi local değişkenleri kullanılabilir.Parametre alan çeşitlerine null şeklinde de paremetre gönderilebilir,ona göre procedure kendisi işlemleri şekillendirecektir.
Procedurler kendi başına hatalı bir işlemi durdurabilir,işlemleri yapılmasını engeller böylece hatalı müdahelelerden sakınılması saplanır.Üzerinde bulunduğu server ın tüm fonksiyonlarını aktif olarak kullanbilir ki bu en büyük yararlarından biridir.
Ayrıca procedurler bir package in içerinde birden fazla bulunabilir,istenirse birbirini tetikleyerek zincerleme şekilde çalışarak büyük boyuttaki işleri kolayca halledebilirler.