Forum

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

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

5 Yazılar
3 Üyeler
2 Reactions
1,333 Görüntüleme
(@batuhanilter)
Gönderiler: 19
Eminent Member
Konu başlatıcı
 

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.

 
Gönderildi : 13/01/2021 16:22

(@serkanates)
Gönderiler: 1317
Ü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.

 
Gönderildi : 14/01/2021 08:40

(@batuhanilter)
Gönderiler: 19
Eminent Member
Konu başlatıcı
 

@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.

 
Gönderildi : 14/01/2021 09:47

(@omercolakoglu)
Gönderiler: 69
Trusted Member
 

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

 
Gönderildi : 14/01/2021 10:11

(@batuhanilter)
Gönderiler: 19
Eminent Member
Konu başlatıcı
 

@omercolakoglu

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

 
Gönderildi : 14/01/2021 11:29

Paylaş: