SQL Server 2017- Prosedur, Trigger ve Fonksiyonlar

7 Ekim 2018 Pazar

Transact SQL’de temelde çok kullanılan 3 yapının kullanım durumları vardır.

Stored Procedure:

-Stored Procedure değer döndürebilir veya döndürmez, herhangi bir zorunluluk yoktur.

-Select kullanımı yanında DML işlemleri de Stored Procedure içerisinde kullanılabilir.

-Hata fırlatma ve İstisnalar için Try Catch ifadeleri kullanılabilir.

-Transcation’lar kullanılabilir.

-Tablo değerlerleri ve Temporary tablo olarak iki yapıda kullanılabilir.

-Fonksiyonlar Stored Procedure yapısı içerisinde kullanılabilir.

-Stored Procedure içerisinde SELECT-WHERE-HAVING kullanılamazlar.

-Kullanıcı Tanımlı Fonksiyonlar (User Defined Functions) kullanılamazlar.

Trigger:

-Kullanıcı tarafından direk olarak çağrılamaz kullanılamazlar. Kolon, tablo, veri tabanı ya da sunucu da amaçlarına göre tetiklendiğinde çalışabilirler.

-Kullanıcı tarafından direk çalıştırılamazlar. Trigger tetiklendiğinde devreye girer ve gerekli görevlerini yerine getirirler.

-Bir Trigger’da doğrudan başka bir trigger arayamayız. Yalnızca ttrigger’ların bulunmasını sağlayabiliriz.

-SQL Server’da, bir tetikleyicinin eylemi aynı tabloda veya farklı tabloda olabilecek başka bir tetikleyici olayı başlattığında tetikleyicilerin iç içe olduğu söylenir.

-Trigger’ı zamanlanmış görevler için kullanamayız.

-Trigger’a parametre gönderilemez.

-Trigger’lar geriye bir değer döndürmez.

-Transaction’lar içerisinde kullanılamazlar.

-.Net uygulamalarından çağrılamazlar. (Web ya da Masaüstü uygulamaları fark etmez.)

Fonksiyon:

-Fonksiyon bir değer döndürmek zorundadır.

-Fonksiyon sadece Select kullanımına izin verir, DML işlemleri kullanılamaz.

-Hata fırlatma ve İstisnalar için Try Catch ifadeleri kullanılamaz.

-Transaction’lar kullanılamaz.

-Sadece Tablo değerlerleri kullanılabilir, Temporary tablolar kullanılamazlar.

-Store Procedure’lar fonksiyonlarda kullanılamazlar. Fonksiyon içerisinde SELECT-WHERE-HAVING kullanılabilirler.

-Kullanıcı Tanımlı Fonksiyonlar (User Defined Functions) kullanılabilirler.


Share/Bookmark

0 comments :