Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
SQL Triger Insert Sorunu
#1
Arkadaşlar Merhaba; İki tane tablo var "TBLDEKOTRA" ve "TBLDEKOMAS" ve "TBLDEKOTRA" da "ACIKLAMA2" alanına "R" yazdığım zaman farklı bir şirketteki aynı tabloya yazıyor boş geçtiğim zaman yazmıyor, buraya kadar sorun yok. Sorun tablonun birlikte çalıştığı "TBLDEKOMAS" da aynı şekilde çalışmasını istiyorum "R" yazdığımda kayıt olacak yazmadığımda kayıt yapmayacak bir türlü başaramadım.

Aynı triger içine mi yazmalıyım ben ay ayrı ayrı tabloların altına yazdım ama buda olmadı kodları paylaşıyorum yardımcı olabilir misiniz?

CREATE TRIGGER [dbo].[TBLDEKOTRA_I]
ON [dbo].[TBLDEKOTRA]
AFTER INSERT 
AS
BEGIN
INSERT INTO XXR..TBLDEKOTRA
 (SUBE_KODU,SERI_NO,DEKONT_NO,SIRA_NO,FISNO,TARIH,VALORTRH,VALORGUN,C_M,KOD,REFERANS,CRAPKOD,PLASIYER,ACIKLAMA1,
 ACIKLAMA2,ACIKLAMA3,ACIKLAMA4,B_A,TUTAR,KDV_ORAN,KDV_DAHIL,GENEL_KDV,MIKTAR,DOVTL,DOVTIP,DOVTUT,ENTEGREFKEY,
 YEDEK1,YEDEK2,YEDEK3,YEDEK4,YEDEK5,YEDEK6,YEDEK7,YEDEK8,YEDEK9,YEDEK10,PROJE_KODU,EXPORTREFNO,EXEXPENSETYPE,
 CMISLENECEK,SUBEGIRILECEK,KDVDOVIZ,RAPOR_KODU2,KAYITYAPANKUL,KAYITTARIHI,DUZELTMEYAPANKUL,DUZELTMETARIHI,BFORMCARI_KODU,
 DEPO_KODU,ONAYTIPI,ONAYNUM,BELGE_TIPI,ODEME_TURU)
SELECT
 SUBE_KODU,SERI_NO,DEKONT_NO,SIRA_NO,FISNO,TARIH,VALORTRH,VALORGUN,C_M,KOD,REFERANS,CRAPKOD,PLASIYER,ACIKLAMA1,
 ACIKLAMA2,ACIKLAMA3,ACIKLAMA4,B_A,TUTAR,KDV_ORAN,KDV_DAHIL,GENEL_KDV,MIKTAR,DOVTL,DOVTIP,DOVTUT,ENTEGREFKEY,
 YEDEK1,YEDEK2,YEDEK3,YEDEK4,YEDEK5,YEDEK6,YEDEK7,YEDEK8,YEDEK9,YEDEK10,PROJE_KODU,EXPORTREFNO,EXEXPENSETYPE,
 CMISLENECEK,SUBEGIRILECEK,KDVDOVIZ,RAPOR_KODU2,KAYITYAPANKUL,KAYITTARIHI,DUZELTMEYAPANKUL,DUZELTMETARIHI,BFORMCARI_KODU,
 DEPO_KODU,ONAYTIPI,ONAYNUM,BELGE_TIPI,ODEME_TURU
FROM INSERTED WHERE INSERTED.ACIKLAMA2='R'
(SELECT ACIKLAMA2 FROM XXR..TBLDEKOTRA)
END
GO
TBLDEKOMAS
ALTER TRIGGER [dbo].[TBLDEKOMAS_I]
ON [dbo].[TBLDEKOMAS]
AFTER INSERT 
AS
BEGIN
INSERT INTO XXR..TBLDEKOMAS
          (SUBE_KODU,SERI_NO,DEKONT_NO,MUH,DEGISTI,S_YEDEK1,S_YEDEK2,F_YEDEK1,F_YEDEK2,C_YEDEK1,C_YEDEK2,I_YEDEK1,
          I_YEDEK2,D_YEDEK1,D_YEDEK2,ONAYTIPI,ONAYNUM)
SELECT
          SUBE_KODU,SERI_NO,DEKONT_NO,MUH,DEGISTI,S_YEDEK1,S_YEDEK2,F_YEDEK1,F_YEDEK2,C_YEDEK1,C_YEDEK2,I_YEDEK1,
          I_YEDEK2,D_YEDEK1,D_YEDEK2,ONAYTIPI,ONAYNUM
FROM INSERTED
SELECT DEKONT_NO FROM XXR..TBLDEKOTRA WHERE DEKONT_NO=DEKONT_NO 
END
GO
Cevapla
#2
TBLDEKOTRA Tablosuna R yazdığın zaman
TBLDEKOMAS Tablosuna da direk R yi eklet

Ekletirken
Şöyle bir durum olması gerekiyor diye hatırlıyorum

TBLDEKOTRA 'daki FISNO
TBLDEKOMAS Daki FATIRS_NO değildir

TBLDEKOMAS 'da FİŞ oluşurken farklı nuamradan oluşur ama AMBAR_KABULNO colonuna TBLDEKOTRA 'daki FISNO yazılır
İnsert Cümlendeki WHERE şartın o şeklide olacak.
Cevapla
#3
(19-05-2019, Saat: 23:34)FiRewaLL Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.TBLDEKOTRA  Tablosuna R yazdığın zaman
TBLDEKOMAS  Tablosuna da direk R yi eklet

Ekletirken
Şöyle bir durum olması gerekiyor diye hatırlıyorum

TBLDEKOTRA  'daki FISNO
TBLDEKOMAS Daki FATIRS_NO değildir

TBLDEKOMAS 'da  FİŞ oluşurken farklı nuamradan oluşur ama AMBAR_KABULNO colonuna TBLDEKOTRA  'daki FISNO yazılır
İnsert Cümlendeki WHERE şartın o şeklide olacak.

Merhaba ; D_YEDEK2 ye TBLDEKOTRA daki ACIKLAMA2 deki 'R' yi yazdırmak istedim her ne yaptıysam olmadı yardım edebilir misin? nasıl yazdırabilirim ? Eşitlemek istedim onu da görmedi. TBLDEKOTRA da ACIKLAMA2='R' ise yaz boş ise yazma demeye çalıştım.

ALTER TRIGGER [dbo].[TBLDEKOMAS_I]
ON [dbo].[TBLDEKOMAS]
AFTER INSERT 
AS
BEGIN
INSERT INTO XXR..TBLDEKOMAS
         (SUBE_KODU,SERI_NO,DEKONT_NO,MUH,DEGISTI,S_YEDEK1,S_YEDEK2,F_YEDEK1,F_YEDEK2,C_YEDEK1,C_YEDEK2,I_YEDEK1,
         I_YEDEK2,D_YEDEK1,D_YEDEK2,ONAYTIPI,ONAYNUM)
SELECT
         DT.SUBE_KODU,DT.SERI_NO,DT.DEKONT_NO,MUH,DEGISTI,S_YEDEK1,S_YEDEK2,F_YEDEK1,F_YEDEK2,C_YEDEK1,C_YEDEK2,I_YEDEK1,
         I_YEDEK2,D_YEDEK1,D_YEDEK2=DT.ACIKLAMA2,DT.ONAYTIPI,DT.ONAYNUM
FROM INSERTED TBLDEKOMAS
INNER JOIN TBLDEKOTRA AS DT ON DT.DEKONT_NO=TBLDEKOMAS.DEKONT_NO
SELECT DEKONT_NO FROM XXR..TBLDEKOTRA WHERE DEKONT_NO=TBLDEKOTRA.DEKONT_NO AND TBLDEKOTRA.ACIKLAMA2='R'
END
GO
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SetLength sorunu seci20 2 84 13-09-2019, Saat: 13:50
Son Yorum: seci20
  Writefile yazılan byte sorunu seci20 2 161 04-09-2019, Saat: 20:29
Son Yorum: seci20
  Fastreport barcod yazdirma sorunu TheEAK 8 560 30-07-2019, Saat: 17:09
Son Yorum: TheEAK
  FDMemTable1.Filter Sorunu Hk. pro_imaj 4 273 14-07-2019, Saat: 00:38
Son Yorum: pro_imaj
  IPhone resim aktarma sorunu adelphiforumz 10 515 10-07-2019, Saat: 20:00
Son Yorum: SimaWB



Konuyu Okuyanlar: 1 Ziyaretçi