Çok Yakında Yeni Bir Arayüzle karşınızdayız! http://yeni.delphican.com/

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
  SQl tarih Sorunu Bay_Y 7 181 Dün, Saat: 09:06
Son Yorum: Bay_Y
  Quick Reportta Türkçe sorunu boreas 4 138 08-11-2019, Saat: 00:14
Son Yorum: boreas
  Fastreport barcod yazdirma sorunu TheEAK 15 1.040 07-11-2019, Saat: 15:57
Son Yorum: mcuyan
  SOAP WSDL | Tarihi sorunu ve C# import sorunu hk. pro_imaj 2 178 24-10-2019, Saat: 08:51
Son Yorum: sabanakman
  Datasnap free yapmama sorunu. seci20 1 107 24-10-2019, Saat: 08:16
Son Yorum: 3ddark



Konuyu Okuyanlar: 1 Ziyaretçi