Ç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ı: 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
  UniURLFrame ile pdf görüntüleme sorunu veski 1 61 Dün, Saat: 17:36
Son Yorum: cinarbil
  Datasnap mysql donma sorunu. seci20 2 98 15-02-2020, Saat: 18:48
Son Yorum: seci20
  FireDac ile Mssql Veritabanı Adı sorunu serdar 9 582 15-01-2020, Saat: 23:22
Son Yorum: otonomi
  Datasnap büyük dosya gönderme sorunu. seci20 2 270 12-01-2020, Saat: 14:56
Son Yorum: seci20
  Balloon hint font sorunu. seci20 0 189 25-11-2019, Saat: 15:13
Son Yorum: seci20



Konuyu Okuyanlar: 1 Ziyaretçi