PostgreSQL - Tetikleyiciler gibi işlevler

İçindekiler
PostgreSQL işlevleri gerçekleştirmek için farklı dilleri kullanmamıza izin verir, bu işlevsellik oldukça kullanışlıdır ve onu en esnek ve güçlü veritabanlarından biri yapar, ancak aynı zamanda yapmamızı da sağlar. tetikleyici olarak işlev görüryani, hangi eylemin gerçekleştiğini otomatik olarak algılayan ve farklı bir eylemi tetikleyen işlevler, yani örneğin bir tabloya eklersek, tetiklemek bir başkasında güncellemek, tetikleyicinin ne olduğuna dair çok temel bir işlem koymak.
Tetikleyiciler gibi işlevler
Hiçbir değerli veritabanı motoru, kullanma yeteneği olmadan olmamalıdır tetikleyiciler verilerdeki değişiklikleri otomatik olarak algılamak ve işlemek için. PostgreSQL ifade düzeyinde ve kayıt düzeyinde tetikleyiciler sunar; Cümle düzeyinde olanlar her cümle için bir kez çalıştırılırken, kayıt düzeyinde olanlar birçok kez çalıştırılabilir, örneğin GÜNCELLEME 1500 kaydı etkileyen bir cümle düzeyinde tetikleyici yalnızca bir kez çalışır, oysa kayıt tetikleyicisi 1500 defa çalışır.
Bu konudaki bir diğer önemli nokta ise yönergeler arasında yapılan ayrımdır. ÖNCE, DESPUES DE ve YERİNE NIN-NİN bir tetikleyicide.
Birlikte çalışan bir tetikleyici ÖNCE Verileri değiştirmeden önce değiştirme veya iptal etme veya değiştirme fırsatı veren komutun yürütülmesinden önce tetiklenir, bir tetikleyiciden SONRA değişikliğin yürütülmesinden sonra tetiklenir, böylece önceden değiştirilmiş verileri elde etme fırsatı verir, bu tür tetikleyici çoğunlukla günlüklerde ve çoğaltma işlevlerinde kullanılır, tetikleyici YERİNE Normalde yapılacak eylem yerine çalışır, ayrıca bunun bir diğer özelliği de yalnızca görüşlerle çalışmasıdır.
Tetikleyiciyle Bir İşlev Oluşturun
İşlevler hakkında konuştuğumuzda, bunları yapmak için başka dilleri kullanabileceğimizi bildiğimiz gibi, tetikleyiciler gibi işlevler söz konusu olduğunda hemen hemen her dili kullanmak da mümkündür, ancak PL / pgSQL Bu görevleri yerine getirmek için bir favoridir, bu nedenle aşağıdaki resimde göreceğimiz örnek bu dilde yapılacaktır, örneği gördükten sonra detaylı olarak açıklayacağız:

1. İşlev tetikleyici olarak tanımlanır ve upd_ts sütunu olan herhangi bir tabloda kullanılabilir. Geri dönüş yapılmadan önce bu sütunun değeri değiştirilecektir. Çağrı etkinlikte yapılır ÖNCE çünkü eğer kullanılmış olsaydı DESPUES DE yeni kayıttaki tüm değişiklikler yoksayılır.
2. Tetik, kayıt saklanmadan önce tetiklenir.
3. Yalnızca şurada bulunan bu işlevsellik PostgreSQL 9.0 veya üstü, yalnızca gerçekten etkilenen kayıtları değiştirmemize izin verir, önceki sürümlerde eski ve yeni alanlar arasında karşılaştırmalar yapmak gerekliydi, ancak bu INSTEAD OF olayı için desteklenmez.
4. Tetikleyiciyi tabloya bağlarız.
Bununla, ihtiyacımız olduğunda hangi olayları kullanabileceğimizi bilmenin yanı sıra, bir işlevde uygulanacak bir Tetikleyicinin nasıl oluşturulacağını gördüğümüz bu öğreticiyi bitiriyoruz.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave