Tetikleyiciler ve Saklı Yordamlar
Bir veritabanında tetikleyici, bir tabloda/görünümde bazı belirli olaylar meydana geldiğinde otomatik olarak yürütülen bir prosedürdür (kod segmenti). Diğer kullanımlarının yanı sıra, tetikleyiciler esas olarak bir veritabanında bütünlüğü korumak için kullanılır. Saklı yordam, ilişkisel bir veritabanına erişen uygulamalar tarafından kullanılabilen bir yöntemdir. Tipik olarak, saklı yordamlar, verileri doğrulamak ve bir veritabanına erişimi kontrol etmek için bir yöntem olarak kullanılır.
Tetikleyiciler nelerdir?
Bir tetikleyici, bir veritabanı tablosunda/görünümünde bazı belirli olaylar meydana geldiğinde otomatik olarak yürütülen bir prosedürdür (kod segmenti). Diğer kullanımlarının yanı sıra, tetikleyiciler esas olarak bir veritabanında bütünlüğü korumak için kullanılır. Tetikleyiciler ayrıca iş kurallarını uygulamak, veritabanındaki değişiklikleri denetlemek ve verileri çoğ altmak için de kullanılır. En yaygın tetikleyiciler, veriler işlendiğinde tetiklenen Veri İşleme Dili (DML) tetikleyicileridir. Bazı veritabanı sistemleri, Veri Tanımlama Dili (DDL) olayları meydana geldiğinde tetiklenen veri olmayan tetikleyicileri destekler. Bazı örnekler, tablolar oluşturulduğunda, kaydetme veya geri alma işlemleri gerçekleştiğinde vb. tetiklenen tetikleyicilerdir. Bu tetikleyiciler özellikle denetim için kullanılabilir. Oracle veritabanı sistemi, Oluşturmadan Sonra, Değiştirmeden Önce, Değiştirmeden Sonra, Bırakmadan Önce, Bıraktıktan Sonra vb. gibi şema düzeyinde tetikleyicileri (yani veritabanı şemaları değiştirildiğinde tetiklenen tetikleyiciler) destekler. Oracle tarafından desteklenen dört ana tetikleyici türü, Satır Düzeyinde tetikleyicilerdir, Sütun Düzeyi tetikleyicileri, Her Satır Türü tetikleyicileri ve Her İfade Türü için tetikleyiciler.
Saklı yordamlar nelerdir?
Saklı yordam, ilişkisel bir veritabanına erişen bir uygulama tarafından kullanılabilecek bir yöntemdir. Tipik olarak, saklı yordamlar, verileri doğrulamak ve bir veritabanına erişimi kontrol etmek için bir yöntem olarak kullanılır. Bazı veri işleme işlemlerinin yürütülmesi için birkaç SQL deyimi gerekiyorsa, bu tür işlemler saklı prosedürler olarak uygulanır. Bir saklı yordam çağrılırken, bir CALL veya EXECUTE ifadesi kullanılmalıdır. Saklı yordamlar sonuç döndürebilir (örneğin, SELECT deyimlerinden elde edilen sonuçlar). Bu sonuçlar, diğer saklı yordamlar veya uygulamalar tarafından kullanılabilir. Saklı yordamları yazmak için kullanılan diller tipik olarak if, while, for, vb. gibi kontrol yapılarını destekler. Kullanılan veritabanı sistemine bağlı olarak, saklı yordamları uygulamak için birkaç dil kullanılabilir (örneğin Oracle'da PL/SQL ve Java, T- SQL (Transact-SQL) ve Microsoft SQL Server'da. NET Framework). Ayrıca MySQL kendi saklı prosedürlerini kullanır.
Tetikleyiciler ve Saklı Prosedürler arasındaki fark nedir?
Bir tetikleyici, bir veritabanı tablosunda/görünümünde bazı belirli olaylar meydana geldiğinde otomatik olarak yürütülen bir prosedürdür (kod segmenti), saklı prosedür ise ilişkisel bir veritabanına erişen bir uygulama tarafından kullanılabilecek bir yöntemdir. Tetikleyicinin yanıt vermesi beklenen olay gerçekleştiğinde, tetikleyiciler otomatik olarak yürütülür. Ancak bir saklı yordamı yürütmek için belirli bir CALL veya EXECUTE ifadesinin kullanılması gerekir. Hata ayıklama tetikleyicileri, saklı yordamlarda hata ayıklamaktan daha zor ve aldatıcı olabilir. Tetikleyiciler, belirli bir olay gerçekleştiğinde bir şeyin olduğundan emin olmak istediğinizde çok kullanışlıdır.