SQL Tek sütun için ...
 
Bildirimler
Hepsini Temizle

[Çözüldü] SQL Tek sütun için trigger ayarlamak  

Batuhan İlter
(@batuhanilter)
Üye

Merhaba,

Yapmakta olduğum bir veritabanın da çok fazla miktarda trigger kullanmam gerekiyor. Ve büyük çoğunluğu sadece bir sütundaki işlem ile bağlantılı. SQL'e internet üstünden bağlandığım için gereksiz işlemlerden kaçınıp daha hızlı çalışmasını istiyorum. Bu sebeple sadece bir sütundaki değişikler için trigger tanımlamam mümkün mü ?

Biraz araştırdım ama pek bir kaynağa ulaşamadım. Konu hakkında bilgi verebilirseniz çok memnun olurum.

Alıntı
Topic starter Gönderildi : 13/01/2021 16:22
Konu Etiketleri
Serkan Ateş
(@SerkanAtes)
Üye
Gönderen: @batuhanilter

sadece bir sütundaki değişikler için trigger tanımlamam mümkün mü ?

Bu soruyu biraz daha açabilir misiniz ? Ne yapmak istediğiniz tam olarak anlaşılmıyor.

CevapAlıntı
Gönderildi : 14/01/2021 08:40
Batuhan İlter
(@batuhanilter)
Üye

@SerkanAtes

id, isim, soyisim, telefon ve adresi bulunduran bir tablom olduğunu varsayalım

(create trigger "isim" on "tablo adı" after update)

olarak tanımladığım zaman tabloya gelen herhangi bir update komutunda trigger çalışıyor. Ama benim istediğim sadece telefon numaralarının bulunduğu sütunda bir değişiklik olduğu zaman triggerın çalışması. Çünkü kendi tablomda nerdeyse bütün sütunlar sürekli olarak değişiyor. Her değişimde bütün tabloyu tarayıp ona göre işlem yapmak fazla iş yoğunluğu oluşturacağından dolayı bunu kullanmak istemiyorum. Uzak bir bilgisayarla bağlantı halinde kalacak bir veritabanı olduğu için hız çok önemli oluyor. Bunun herhangi bir çözümü var mı bilmiyorum. Çözümü veya herhangi bir alternatifi varsa beni bilgilendirirseniz çok teşekkür ederim.

CevapAlıntı
Topic starter Gönderildi : 14/01/2021 09:47
Ömer ÇOLAKOĞLU
(@omercolakoglu)
Üye

Merhaba,

Bu şekilde yapabilirsin. Burada customers tablosunda sadece PHONE alanı değişince update işlemi çalışıyor.

CREATE TRIGGER TRG1 ON CUSTOMERS
AFTER UPDATE
AS
BEGIN
if update (PHONE)
INSERT INTO CUSTOMERS_LOG SELECT *,GETDATE() FROM DELETED

END

CevapAlıntı
Gönderildi : 14/01/2021 10:11
Batuhan İlter
(@batuhanilter)
Üye

@omercolakoglu

yardımınız için çok teşekkürler. 

CevapAlıntı
Topic starter Gönderildi : 14/01/2021 11:29
Paylaş: