«trigger» etiketlenmiş sorular

Bir veritabanı olayına yanıt olarak yordamsal kod otomatik olarak yürütülür.

5
Veritabanındaki herhangi bir değişiklik nasıl algılanır (DDL ve DML)
Müşterimin SQL sunucusunda çok sayıda veritabanı var. Bu veritabanları geliştirilme aşamasındadır, bu nedenle geliştiriciler tasarlayabilir, yeniden düzenleyebilir, veri değişiklikleri yapabilir vb. Nadiren değişen bazı veritabanları vardır. Müşterim hepsini güvende tutmak (yedeklemek) ve çevreyi yönetmek için biraz zaman harcamak zorunda. (Şirkette DB yöneticisi konumu yoktur.) Uzun süren tartışmalardan sonra, müşteri geri …

3
MySQL saklı yordamlarında dinamik SQL
Depolanmış rutinler ve tetikleyiciler üzerindeki kısıtlamalara göre , dinamik sql kullanılamaz (5.0.13 ve sonraki sürümlerde saklı yordamlar için kısıtlama kaldırılmıştır). Bu sınırlama neden yürürlükte? Ve neden prosedürler için kaldırın, ancak işlevler veya tetikleyiciler değil?

1
Belirli sütunlardan herhangi birinin güncellenip güncellenmediğini kontrol etmek için COLUMNS_UPDATED nasıl kullanılır?
42 sütun içeren bir tablo ve bu sütunların 38 güncellendiğinde bazı şeyler yapmak bir tetik var. Yani, geri kalan 4 sütun değiştirilirse mantığı atlamalıyım. UPDATE () işlevini kullanabilir ve büyük bir IFkoşul oluşturabilirim , ancak daha kısa bir şey yapmayı tercih ederim. COLUMNS_UPDATED kullanarak Belirli sütunların tamamının güncellenip güncellenmediğini kontrol …

5
Tetikleyicide INSERTED ve DELETED tablolarına katılmakta acımasız performans
Belirli bir sütundan belirli bir değerden başka bir değere değişen belirli bir sütunu izleyen bir tabloda bir GÜNCELLEME tetikleyicim var. Bu durumda, tek bir UPDATE deyimi aracılığıyla başka bir tablodaki bazı ilgili verileri güncelleştirir. Tetikleyicinin yaptığı ilk şey, güncellenmiş satırların bu sütunun değerinin söz konusu değerden değiştirilip değiştirilmediğini kontrol etmektir. …

2
Postgres'de “geçiş tablosu” nedir?
Postgres 10'daki yenilikleri açıklayan sayfa “Tetikleyiciler için Geçiş Tabloları” ndan bahsediyor. Tetikleyiciler için Geçiş Tabloları Bu özellik, AFTER STATEMENTuygun olduğunda eski ve yeni satırları sorgulara maruz bırakarak tetikleyicileri hem kullanışlı hem de performans haline getirir . Bu özellikten önce, AFTER STATEMENTtetikleyicilerin bunlara doğrudan erişimi yoktu ve geçici çözümlerin bizans ve …

4
Farklı tablolardaki verileri bir tablo halinde toplamak kötü bir uygulama mudur?
Arka fon Ben büyük bir sağlık kayıtları DB (yazma SP'ler, fonksiyonlar, işler, vb.) İçin çok sayıda büyük raporlar yazarım ve genellikle saklarım. Orijinal şema ve onu kullanan yazılım farklı bir satıcıdan, bu yüzden yapısal olarak çok fazla değiştiremiyorum. Laboratuarlar, prosedürler, aşılar, vb.Gibi izleme gerektiren birçok kayıt vardır ve birçoğu şişirilmiş …



2
Operasyonun GÜNCELLEME KASKADI ile ilgili bir FK kısıtlamasından kaynaklanması durumunda FOR EACH STATEMENT tetikleyicisi ne sıklıkla çalışır?
Ben bir t FOR EACH STATEMENTyürüttüğümde ile tanımlanmış t tablo üzerinde bir tetikleyici çalışacağını anlıyorum UPDATE t .... Şimdi, tile tanımlandığında FOREIGN KEY ... REFERENCES a ... ON UPDATE CASCADEve N satırını güncellediğimde a, tetikleyici bir kez mi yoksa N kez mi çağrılır? Başka bir ifadeyle, bir FK kısıtlamasıyla bir …

3
Kaydı kimin sildiğiyle ilgili bilgileri Sil tetikleyicisine aktarma
Bir denetim izi ayarlarken, bir tablodaki kayıtları kimin güncellediğini veya eklediğini izleme konusunda sorunum yok, ancak kayıtları kimin sildiğini izlemek daha sorunlu görünüyor. Ekler / Güncellemeler'i "UpdatedBy" Ekle / Güncelle alanına dahil ederek takip edebilirim. Bu INSERT / UPDATE tetikleyicisinin üzerinden "UpdatedBy" alanına erişmesini sağlar inserted.UpdatedBy. Ancak Sil tetikleyicisi ile …

1
PostgreSQL 8.4'te bir tetikleyici işlevini yürütmek için gereken ayrıcalıklar nelerdir?
PostgreSQL 8.4'te bir tetikleyici işlevini yürütmek için gereken ayrıcalıklar nelerdir? Bir role atanan ayrıcalıkların bir tetikleyici işlevi yürütmesi önemli değildir. Bir gün, bir tetikleyici işlevini yürütmek için gereken ayrıcalıkların EXECUTE ayrıcalığı olduğunu, ancak tablonun sahibi için, tetikleyici işlevini çağıran tetikleyiciyi başlatan eylemi gerçekleştiren gerçek rolü olmadığını gördüm. Bu noktayı açıklayan …

1
Tetikleyicide neden bir mutasyon tablosu hatası almıyorum?
Bir tetikleyicinin içindeki bir mutasyon tablosunda DML ifadelerini kullanamayacağınız (veya en azından) biliniyordu. Oracle belgelerinden bir alıntı : Bir mutasyon tablosu, UPDATE, DELETE veya INSERT deyimi tarafından değiştirilen bir tablo veya DELETE CASCADE sınırlamasının etkileriyle güncellenebilecek bir tablodur. Triggering deyimini veren oturum, bir mutasyon tabloyu sorgulayamaz veya değiştiremez. Bu kısıtlama, …


2
PostgreSQL'de mevcut kullanıcıyı görünümler ve tetikleyiciler aracılığıyla izleme
Geçerli kullanıcıya bağlı olarak kayıtlara erişimi sınırlayan ve kullanıcı tarafından yapılan değişiklikleri izleyen bir PostgreSQL (9.4) veritabanı var. Bu, görünümler ve tetikleyiciler aracılığıyla elde edilir ve çoğunlukla bu iyi çalışır, ancak INSTEAD OFtetikleyici gerektiren görünümlerde sorun yaşıyorum . Sorunu azaltmaya çalıştım, ama bunun hala uzun olduğu için özür dilerim. Durum …

1
Tetikleyicileri kullanarak senkronizasyon
Önceki tartışmalara benzer bir gereksinimim var: Basit bir banka şeması yazma: Bakiyelerimi işlem geçmişleriyle nasıl senkronize tutmalıyım? İşlemle birlikte tetikleme İki tablo var [Account].[Balance]ve [Transaction].[Amount]: CREATE TABLE Account ( AccountID INT , Balance MONEY ); CREATE TABLE Transaction ( TransactionID INT , AccountID INT , Amount MONEY ); [Transaction]Tabloda bir …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.