Ms Sql Trigger Yard...
 
Bildirimler
Hepsini Temizle

Ms Sql Trigger Yardım  

  RSS
Serkan Peksağlam
(@SerkanPeksaglam)
Üye

Merhaba Arkadaşlar,

Aynı database altında iki tablo var, birisi logkayit tablosu diğeri Carikart tablosu

logkayit tablosunda modül = 2 ve Cari Bilgi = 120 001 ve Kullanıcı Adı = Ahmet ise yani Ahmet kullanıcısı yeni cari kart açtı ise diğer kullanıcılar değil. Bu defa Carikart tablosunda Carikod ile logkayit tablosundaki Cari bilgi yani  carikod.carikart = caribilgi.logkayit ise Carikart tablosundaki Ozel Kod sahasında update işlemi yapacak örnek özel kod sahasına 'F' yazacak.

 

Böyle bir trigger nasıl yazabilirim.

Çok teşekkürler.

 

Alıntı
Gönderildi : 03/02/2015 22:23
Serkan Peksağlam
(@SerkanPeksaglam)
Üye
CREATE TRIGGER CARI_OZELKOD1_SERKAN ON ETA_TEST_2015.dbo.SIRKETLOG
FOR INSERT AS
UPDATE ETA_TEST_2015.dbo.CARKART
     SET ETA_TEST_2015.dbo.CARKART.CAROZKOD1 = 'SERKAN'
     FROM ETA_TEST_2015.dbo.CARKART, ETA_TEST_2015.dbo.SIRKETLOG
     WHERE ETA_TEST_2015.dbo.SIRKETLOG.SIRLOGKYTKODU = ETA_TEST_2015.dbo.CARKART.CARKOD
     AND ETA_TEST_2015.dbo.SIRKETLOG.SIRLOGMODUL = '2'
     AND ETA_TEST_2015.dbo.SIRKETLOG.SIRLOGILKKULKOD = 'SERKAN'
 
BU ŞEKİLDE YAZDIM ÇALIŞIYOR AMA TEK SORUNUM VAR ODA FROM İLE BAŞLAYAN SATIRDA ETA_TEST_2015.dbo.SIRKETLOG VAR VE BU TABLOYU BAŞTAN SONA OKUYARAK ETA_TEST_2015.dbo.CARKART TABLOYU EN BAŞTAN UPDATE EDİYOR.
OYSA SADECE ETA_TEST_2015.dbo.SIRKETLOG TABLOSU ÜZERİNDE INSERT OLAN SATIRA BAKMALI 
YARDIMCI OLURMUSUNUZ ? TETİKLEYEN SATIR İÇİN YAPMALI BU İŞİ TÜM TABLO İÇİN DEĞİL.
 
CevapAlıntı
Gönderildi : 03/02/2015 23:51
oldmember
(@yavuzfilizlibay)
Üye

Merhaba

Trigger içinde if - begin - else kullanabilirsiniz

EĞER(if) böyle ise BAŞLA(begin)

DEĞİL İSE(else) şöyle yap

https://msdn.microsoft.com/en-us/library/ms182587.aspx 

CevapAlıntı
Gönderildi : 04/02/2015 00:08
Serkan Peksağlam
(@SerkanPeksaglam)
Üye

Detaylı bilgilendirme :

http://www.cozumpark.com/forums/thread/454688.aspx

 Yardımlarınızı bekliyorum.

Teşekkürler.

 

CevapAlıntı
Gönderildi : 07/02/2015 23:16
Paylaş: