«trigger» etiketlenmiş sorular

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

1
İşlemle birlikte tetikleyici
Diyelim ki şu durumumuz var: Table_AÜzerinde bir tetikleyici olan bir tablomuz var (diyelim ) INSERT. Tetikleyici iş, table_Biçine eklenen değerleri temel alarak bazı satırları güncellemektir table_A. Şimdi, basit bir şekilde tabloya bir satır eklediğimizde her şey yolunda gider, ancak bir işlemden veri eklediğimiz durumlar ne olacak? Tetikleyici tüm işlem ifadeleri …

2
Tetikleyiciler her seferinde derlenir mi?
CPU kullanımı yüksek olan bir sunucuda sorun gidermekteyiz. Sorguların gerçekten buna neden olmadığını belirledikten sonra, derlemeleri aramaya başladık. Performans İzleyicisi 50 Derleme / sn'den az ve 15 Derleme / sn'den az gösteriyor. Derlemeleri arayan bir XE oturumunu çalıştırdıktan sonra, saniyede binlerce derleme görüyoruz. Bu sistem değişiklikleri denetlemek için tetikleyiciler kullanıyor. …

1
Postgres tablosundaki her kayıt için bir tetikleyici çalıştırmanın iyi bir yolu var mı?
Bazı tabloların tasarımını kontrol edemediğim bir sisteme sahibim (Slony-I ile çoğaltılmıştır) ve bu nedenle, kopyalanan tablolardan bazı bilgileri çıkardığım 'gölge tabloları' olarak adlandırdığımız bir dizi var. ve göz ardı etmek istediğim kayıtları çıkarırken ihtiyacım olan işlenmiş biçimde saklayın. Şu anda, yeni bir çoğaltma ayarladıktan sonra, bir güncelleme çalıştırıyorum UPDATE tablename …

4
Bir tablodaki maksimum satır sayısını sadece 1 ile sınırlama
SQL Server veritabanımda bir konfigürasyon tablosu var ve bu tablonun sadece bir satırı olmalı. Gelecekteki geliştiricilerin bunu anlamasına yardımcı olmak için birden fazla veri satırının eklenmesini önlemek istiyorum. Bunun için bir tetikleyici kullanmayı seçtim, aşağıdaki gibi ... ALTER TRIGGER OnlyOneConfigRow ON [dbo].[Configuration] INSTEAD OF INSERT AS BEGIN DECLARE @HasZeroRows BIT; …

1
Tüm tetikleyicilerime SET NOCOUNT ON ekleyelim mi?
Sahip olmanız gereken oldukça yaygın bir bilgidir. SET NOCOUNT ON yeni saklı yordamlar oluştururken varsayılan olarak. Microsoft, 2012'ye dahil etmek için varsayılan şablonu değiştirdi. Bunun tetikleyiciler için aynı olması gerektiğini düşündüm, ancak şablona dahil edilmedi. Bu kasıtlı mı yoksa sadece bir gözetim mi?

1
Verileri temizlemenin en hızlı yolu nedir?
Senaryo: Biz iki tablo var Tbl1ve Tbl2Abone Server. Tbl1Publisher çoğaltılan ediliyor Server Ave iki tetikler - insert ve güncelleştirme. Tetikleyiciler verileri ekler ve içine günceller Tbl2. Şimdi, Tbl2toplam 1000+ milyon kaydı bulunan (yaklaşık 900 milyon kayıt) tasfiye etmek zorundayız . Aşağıda bir aydan bir dakikaya kadar olan veri dağılımı verilmiştir. …

2
Tetikleyici: silinmiş satırları arşiv tablosuna taşıma
Ben restrictionsdeğerleri silinir ve günlük olarak eklenir PostgreSQL veritabanımda denilen küçük (~ 10 satır) tablo var . restrictions_deletedSilinen her satırın restrictionsotomatik olarak depolanacağı bir tabloya sahip olmak istiyorum . Yana restrictionsbir seri kimliğine sahipse, hiçbir çiftleri olacaktır. PostgreSQL'de böyle bir tetikleyiciyi nasıl yazarım?


3
Belirli sütunlarda güncellemeyi kısıtla. Yalnızca saklı yordamın bu sütunları güncellemesine izin ver
Yalnızca saklı yordam ile güncelleştirmek istediğiniz hassas fiyat sütunları var. Güncellemek için tasarlanmış saklı yordamları kullanmıyorsa, bu fiyat sütunlarındaki değerleri değiştirmek için tüm kod veya el ile denemeleri başarısız olur. Tetikleyiciler ve bir jeton tablo kullanarak bunu uygulamayı düşünüyorum. Düşündüğüm fikir bir jeton masasına sahip olmak. saklı yordamlar önce belirteç …

4
Saklanan yordamı bir tetikleyiciden çağırma
Aşağıdaki sözdizimini kullanarak mysql saklı bir yordam oluşturduk. DROP PROCEDURE IF EXISTS `sp-set_comment_count`; DELIMITER $$ CREATE PROCEDURE `sp_set-comment_count` (IN _id INT) BEGIN -- AC - AllCount DECLARE AC INT DEFAULT 0; SELECT COUNT(*) AS ac INTO AC FROM usergroups AS ug LEFT JOIN usergroup_comments AS ugm ON ugm.`gid` = ug.`id` …

3
Bir tetikleyici etkinleştirildiğinde kayıtların yavaş silinmesi
Bunun aşağıdaki bağlantıyla çözüldüğünü düşündüm - etrafındaki çalışma - ama yama yapmaz. Çözmek için Microsoft desteği ile çalışma. http://support.microsoft.com/kb/2606883 Tamam bu yüzden birisi bir fikri olup olmadığını görmek için StackOverflow atmak istedim bir sorun var. Bunun SQL Server 2008 R2 ile olduğunu unutmayın Sorun: 15000 kayıt içeren bir tablodan 3000 …


3
SQL Server: Yalnızca geçerli oturumunuz için bir güncelleştirme için tetikleyici nasıl devre dışı bırakılır?
SQL Server 2008 R2 üzerinde çalışıyorum. Tiu_benefit adlı bir SONRASI INSERT, UPDATE tetikleyicisi olan bir tablo faydası var . 1 Satır güncelleştirmek için bu tablo için bir UPDATE deyimi yazmak istiyorum ama tetik tetiklemek istemiyorum. UPDATE öncesi tetikleyiciyi devre dışı bırakabileceğimi ve sonra UPDATE sonrası tetikleyiciyi etkinleştirebileceğimi biliyorum: DISABLE TRIGGER …


2
GÜNCELLEME sonrasında GÜNCELLEME tetiklensin mi?
Herhangi bir güncelleme zamanını kaydetmek için bir tetikleyici yapmak istiyorum: CREATE TRIGGER col_update AFTER UPDATE ON col FOR EACH ROW BEGIN UPDATE col SET updated=NOW() WHERE id=NEW.id; // or OLD.id END Sorun, bu tetikleyici updatedsütunu güncellemeye çalıştığında , aynı zamanda tetikleyiciyi çalıştıran başka bir güncelleme olayı olmasıdır. Bu, çalışmayan sonsuz …

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.