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ı: 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
  Delphi 10.3 Rest Debugger sorunu varyemez 4 175 31-05-2020, Saat: 01:36
Son Yorum: varyemez
  OrangeUI çoklu dil sorunu nguzeller 0 125 17-05-2020, Saat: 12:15
Son Yorum: nguzeller
  Port asılı kalma sorunu. seci20 2 194 10-05-2020, Saat: 04:12
Son Yorum: seci20
  JSON UTF8 Sorunu pro_imaj 0 176 05-05-2020, Saat: 00:26
Son Yorum: pro_imaj
  delphi clamav library sorunu, eroniko 6 463 27-04-2020, Saat: 03:27
Son Yorum: eroniko



Konuyu Okuyanlar: 1 Ziyaretçi