Silinen ve Düzeltilen Kaydı Tabloya Eklemek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ozcank
Üye
Mesajlar: 907
Kayıt: 28 Nis 2005 05:29

Silinen ve Düzeltilen Kaydı Tabloya Eklemek

Mesaj gönderen ozcank »

Arkadaşlar Merhaba , Şöyle bir şey yaptım TBLEMANETIPTFAT tablosuna bir tane DURUM Varchar(50) kolonu açtım tabloya 2 kayıt atıyor ama hangisi update veya deleted bilmiyorum buraya DÜZELTME ve SILME diye nasıl yazdırabilirim?

Tabloya UPDATE ve DELETE yapıldığınıda kayıt atıyor. Sonrasında burada oluşan günlük kayıtları günün belli saatinde E-Mail atmak istiyorum.

Kod: Tümünü seç

ALTER TRIGGER [dbo].[EmanetFaturaKayit] 
   ON  [dbo].[TBLFATUIRS] --WITH ENCRYPTION
   FOR UPDATE,DELETE 
AS 
BEGIN
SET NOCOUNT ON;
DECLARE @ACTIONTYPE NVARCHAR(30)

DECLARE @UPDATECOUNT AS INT
DECLARE @DELETECOUNT AS INT

SELECT @UPDATECOUNT =COUNT(*) FROM DELETED 
SELECT @DELETECOUNT =COUNT(*) FROM DELETED

SET @UPDATECOUNT =ISNULL(@UPDATECOUNT,0)
SET @DELETECOUNT =ISNULL(@DELETECOUNT,0)

PRINT @UPDATECOUNT
PRINT @DELETECOUNT
IF @DELETECOUNT >0 SET @ACTIONTYPE ='UPDATE'
IF @DELETECOUNT >0 SET @ACTIONTYPE ='DELETE' 

	IF  @ACTIONTYPE ='DELETE'
INSERT INTO TBLEMANETIPTFAT
(SUBE_KODU,FTIRSIP,FATIRS_NO,CARI_KODU,TARIH,TIPI,BRUTTUTAR,SAT_ISKT,MFAZ_ISKT,GEN_ISK1T,GEN_ISK2T,GEN_ISK3T,GEN_ISK1O,GEN_ISK2O,GEN_ISK3O,KDV,FAT_ALTM1,
FAT_ALTM2,ACIKLAMA,KOD1,KOD2,ODEMEGUNU,ODEMETARIHI,KDV_DAHILMI,FATKALEM_ADEDI,SIPARIS_TEST,TOPLAM_MIK,TOPDEPO,YEDEK22,CARI_KOD2,YEDEK,UPDATE_KODU,SIRANO,
KDV_DAHIL_BRUT_TOP,KDV_TENZIL,MALFAZLASIKDVSI,GENELTOPLAM,YUVARLAMA,SATIS_KOND,PLA_KODU,DOVIZTIP,DOVIZTUT,KS_KODU,BAG_TUTAR,YEDEK2,HIZMET_FAT,VADEBAZT,
KAPATILMIS,S_YEDEK1,S_YEDEK2,F_YEDEK3,F_YEDEK4,F_YEDEK5,C_YEDEK6,B_YEDEK7,I_YEDEK8,L_YEDEK9,AMBAR_KBLNO,D_YEDEK10,PROJE_KODU,KOSULKODU,FIYATTARIHI,
KOSULTARIHI,GENISK1TIP,GENISK2TIP,GENISK3TIP,EXPORTTYPE,EXGUMRUKNO,EXGUMTARIH,EXFIILITARIH,EXPORTREFNO,KAYITYAPANKUL,KAYITTARIHI,DUZELTMEYAPANKUL,
DUZELTMETARIHI,GELSUBE_KODU,GITSUBE_KODU,ONAYTIPI,ONAYNUM,ISLETME_KODU,ODEKOD,BRMALIYET,KOSVADEGUNU,YAPKOD,GIB_FATIRS_NO,EXTERNALAPPID,EXTERNALREFID,
EBELGE,HALFAT,FATALTM3)
SELECT 
SUBE_KODU,FTIRSIP,FATIRS_NO,CARI_KODU,TARIH,TIPI,BRUTTUTAR,SAT_ISKT,MFAZ_ISKT,GEN_ISK1T,GEN_ISK2T,GEN_ISK3T,GEN_ISK1O,GEN_ISK2O,GEN_ISK3O,KDV,FAT_ALTM1,
FAT_ALTM2,ACIKLAMA,KOD1,KOD2,ODEMEGUNU,ODEMETARIHI,KDV_DAHILMI,FATKALEM_ADEDI,SIPARIS_TEST,TOPLAM_MIK,TOPDEPO,YEDEK22,CARI_KOD2,YEDEK,UPDATE_KODU,SIRANO,
KDV_DAHIL_BRUT_TOP,KDV_TENZIL,MALFAZLASIKDVSI,GENELTOPLAM,YUVARLAMA,SATIS_KOND,PLA_KODU,DOVIZTIP,DOVIZTUT,KS_KODU,BAG_TUTAR,YEDEK2,HIZMET_FAT,VADEBAZT,
KAPATILMIS,S_YEDEK1,S_YEDEK2,F_YEDEK3,F_YEDEK4,F_YEDEK5,C_YEDEK6,B_YEDEK7,I_YEDEK8,L_YEDEK9,AMBAR_KBLNO,D_YEDEK10,PROJE_KODU,KOSULKODU,FIYATTARIHI,
KOSULTARIHI,GENISK1TIP,GENISK2TIP,GENISK3TIP,EXPORTTYPE,EXGUMRUKNO,EXGUMTARIH,EXFIILITARIH,EXPORTREFNO,KAYITYAPANKUL,KAYITTARIHI,DUZELTMEYAPANKUL,
DUZELTMETARIHI,GELSUBE_KODU,GITSUBE_KODU,ONAYTIPI,ONAYNUM,ISLETME_KODU,ODEKOD,BRMALIYET,KOSVADEGUNU,YAPKOD,GIB_FATIRS_NO,EXTERNALAPPID,EXTERNALREFID,
EBELGE,HALFAT,FAT_ALTM3,DURUM='IPTAL'
FROM DELETED

	IF @ACTIONTYPE ='UPDATE'
	INSERT INTO TBLEMANETIPTFAT
(SUBE_KODU,FTIRSIP,FATIRS_NO,CARI_KODU,TARIH,TIPI,BRUTTUTAR,SAT_ISKT,MFAZ_ISKT,GEN_ISK1T,GEN_ISK2T,GEN_ISK3T,GEN_ISK1O,GEN_ISK2O,GEN_ISK3O,KDV,FAT_ALTM1,
FAT_ALTM2,ACIKLAMA,KOD1,KOD2,ODEMEGUNU,ODEMETARIHI,KDV_DAHILMI,FATKALEM_ADEDI,SIPARIS_TEST,TOPLAM_MIK,TOPDEPO,YEDEK22,CARI_KOD2,YEDEK,UPDATE_KODU,SIRANO,
KDV_DAHIL_BRUT_TOP,KDV_TENZIL,MALFAZLASIKDVSI,GENELTOPLAM,YUVARLAMA,SATIS_KOND,PLA_KODU,DOVIZTIP,DOVIZTUT,KS_KODU,BAG_TUTAR,YEDEK2,HIZMET_FAT,VADEBAZT,
KAPATILMIS,S_YEDEK1,S_YEDEK2,F_YEDEK3,F_YEDEK4,F_YEDEK5,C_YEDEK6,B_YEDEK7,I_YEDEK8,L_YEDEK9,AMBAR_KBLNO,D_YEDEK10,PROJE_KODU,KOSULKODU,FIYATTARIHI,
KOSULTARIHI,GENISK1TIP,GENISK2TIP,GENISK3TIP,EXPORTTYPE,EXGUMRUKNO,EXGUMTARIH,EXFIILITARIH,EXPORTREFNO,KAYITYAPANKUL,KAYITTARIHI,DUZELTMEYAPANKUL,
DUZELTMETARIHI,GELSUBE_KODU,GITSUBE_KODU,ONAYTIPI,ONAYNUM,ISLETME_KODU,ODEKOD,BRMALIYET,KOSVADEGUNU,YAPKOD,GIB_FATIRS_NO,EXTERNALAPPID,EXTERNALREFID,
EBELGE,HALFAT,FATALTM3)
SELECT 
SUBE_KODU,FTIRSIP,FATIRS_NO,CARI_KODU,TARIH,TIPI,BRUTTUTAR,SAT_ISKT,MFAZ_ISKT,GEN_ISK1T,GEN_ISK2T,GEN_ISK3T,GEN_ISK1O,GEN_ISK2O,GEN_ISK3O,KDV,FAT_ALTM1,
FAT_ALTM2,ACIKLAMA,KOD1,KOD2,ODEMEGUNU,ODEMETARIHI,KDV_DAHILMI,FATKALEM_ADEDI,SIPARIS_TEST,TOPLAM_MIK,TOPDEPO,YEDEK22,CARI_KOD2,YEDEK,UPDATE_KODU,SIRANO,
KDV_DAHIL_BRUT_TOP,KDV_TENZIL,MALFAZLASIKDVSI,GENELTOPLAM,YUVARLAMA,SATIS_KOND,PLA_KODU,DOVIZTIP,DOVIZTUT,KS_KODU,BAG_TUTAR,YEDEK2,HIZMET_FAT,VADEBAZT,
KAPATILMIS,S_YEDEK1,S_YEDEK2,F_YEDEK3,F_YEDEK4,F_YEDEK5,C_YEDEK6,B_YEDEK7,I_YEDEK8,L_YEDEK9,AMBAR_KBLNO,D_YEDEK10,PROJE_KODU,KOSULKODU,FIYATTARIHI,
KOSULTARIHI,GENISK1TIP,GENISK2TIP,GENISK3TIP,EXPORTTYPE,EXGUMRUKNO,EXGUMTARIH,EXFIILITARIH,EXPORTREFNO,KAYITYAPANKUL,KAYITTARIHI,DUZELTMEYAPANKUL,
DUZELTMETARIHI,GELSUBE_KODU,GITSUBE_KODU,ONAYTIPI,ONAYNUM,ISLETME_KODU,ODEKOD,BRMALIYET,KOSVADEGUNU,YAPKOD,GIB_FATIRS_NO,EXTERNALAPPID,EXTERNALREFID,
EBELGE,HALFAT,FAT_ALTM3,DURUM='DUZELTME'
FROM DELETED
End
GO
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2251
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Silinen ve Düzeltilen Kaydı Tabloya Eklemek

Mesaj gönderen freeman35 »

neden string alan kullanıyorsun?
İki adet datetime tipinde null olabilen alan ekle. bu alanlara, afterdelete ve afterupdate triger larında zamanı ekle. bu iki alan null ise yeni kayıt, silinene ait alan null değilse silinmiş ve silinme zamanı, silinen null ve değistirlen alan null değilse, ozamanda değiştirilmiş demektir.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
ozcank
Üye
Mesajlar: 907
Kayıt: 28 Nis 2005 05:29

Re: Silinen ve Düzeltilen Kaydı Tabloya Eklemek

Mesaj gönderen ozcank »

Teşekkür ederim freeman35 kardeşim.
ozcank
Üye
Mesajlar: 907
Kayıt: 28 Nis 2005 05:29

Re: Silinen ve Düzeltilen Kaydı Tabloya Eklemek

Mesaj gönderen ozcank »

Bu başlık alanını nasıl renklendirebilirim?

@msg1=CONCAT('Yeni Kayıt Hareketi',

Kod: Tümünü seç

SELECT  @msg1=CONCAT('Yeni Kayıt Hareketi',CHAR(10),'Kasa Kodu:',I.KSMAS_KOD,CHAR(10),'Tarih:',convert(varchar, I.TARIH, 20),CHAR(10),'Be
ozcank
Üye
Mesajlar: 907
Kayıt: 28 Nis 2005 05:29

Re: Silinen ve Düzeltilen Kaydı Tabloya Eklemek

Mesaj gönderen ozcank »

Merhaba , Bu şekilde TBLEMANETIPTCH mükerrer kayıt atıyor. Nasıl engelleyebilirim?

Kod: Tümünü seç


ALTER TRIGGER [dbo].[EmanetCariHareketKayit]
   ON  [dbo].[TBLCAHAR] --WITH ENCRYPTION
   FOR UPDATE,DELETE
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ACTIONTYPE char(1)=CASE WHEN NOT EXISTS(SELECT * FROM INSERTED) THEN 'D' -- DELETE
                                 WHEN NOT EXISTS(SELECT * FROM DELETED)  THEN 'I' -- INSERT
                                 ELSE 'U' -- UPDATE
                                 END
IF  @ACTIONTYPE ='U'
INSERT INTO TBLEMANETIPTCH
      (SUBE_KODU,CARI_KOD,TARIH,VADE_TARIHI,BELGE_NO,ACIKLAMA,HKA,BORC,ALACAK,BAKIYE,DOVIZ_TURU,DOVIZ_TUTAR,RAPOR_KODU,
      F9SC,HAREKET_TURU,MIKTAR,ILAVE_RAPOR_KODU,UPDATE_KODU,KAPATILMIS_TUTAR,ODEME_GUNU,FIRMA_DOVIZ_TIPI,FIRMA_DOVIZ_TUTARI,
      PLASIYER_KODU,ENT_REF_KEY,RAPOR_KODU2,DUZELTMETARIHI,S_YEDEK1,S_YEDEK2,F_YEDEK1,F_YEDEK2,C_YEDEK1,
      C_YEDEK2,B_YEDEK1,I_YEDEK1,L_YEDEK1,D_YEDEK1,PROJE_KODU,ONAYTIPI,ONAYNUM,BAGLANTI_NO,DURUM)
SELECT
      SUBE_KODU,CARI_KOD,TARIH,VADE_TARIHI,BELGE_NO,ACIKLAMA,HKA,BORC,ALACAK,BAKIYE,DOVIZ_TURU,DOVIZ_TUTAR,RAPOR_KODU,
      F9SC,HAREKET_TURU,MIKTAR,ILAVE_RAPOR_KODU,UPDATE_KODU,KAPATILMIS_TUTAR,ODEME_GUNU,FIRMA_DOVIZ_TIPI,FIRMA_DOVIZ_TUTARI,
      PLASIYER_KODU,ENT_REF_KEY,RAPOR_KODU2,DUZELTMETARIHI,S_YEDEK1,S_YEDEK2,F_YEDEK1,F_YEDEK2,C_YEDEK1,
      C_YEDEK2,B_YEDEK1,I_YEDEK1,L_YEDEK1,D_YEDEK1,PROJE_KODU,ONAYTIPI,ONAYNUM,BAGLANTI_NO,DURUM='Düzeltilen Cari Hareket'
FROM DELETED WHERE INC_KEY_NUMBER=INC_KEY_NUMBER
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2251
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Silinen ve Düzeltilen Kaydı Tabloya Eklemek

Mesaj gönderen freeman35 »

DECLARE @ACTIONTYPE char(1)=CASE WHEN NOT EXISTS(SELECT * FROM INSERTED) THEN 'D' -- DELETE
WHEN NOT EXISTS(SELECT * FROM DELETED) THEN 'I' -- INSERT
ELSE 'U' -- UPDATE
END
IF @ACTIONTYPE ='U'
gereksiz kod bloğu değil mi?
if NOT EXISTS(SELECT * FROM INSERTED) bu dha kısa ve anlaşılır.
ayrıca kıriterin nerde ? neyin içinde ne var mı?

FROM DELETED WHERE INC_KEY_NUMBER=INC_KEY_NUMBER ????

DURUM='Düzeltilen Cari Hareket' bu da gereksiz. her satıra bunca karakter israfı. Byte yada en küçük integer field tipi olması daha iyi olur. bu son kullanıcıya bir koin yada case ile gösterilebilir.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
ozcank
Üye
Mesajlar: 907
Kayıt: 28 Nis 2005 05:29

Re: Silinen ve Düzeltilen Kaydı Tabloya Eklemek

Mesaj gönderen ozcank »

Freeman35 üstadım Merhaba; Ben şu şekilde Düzeltilen kaydı TBLEMANETIPTCH tablosuna yazdırıyorum sonrasında düzeltme olursa başka kayıt atmadan üzerinde düzeltmede yapıyorum fakat silme kısmında sorunum var sildiğim zaman TBLCAHAR dan silip , silinen kaydı "İptal edilen Kayıt" diye tabloya
atırmak istiyorum bir türlü beceremedim örnek olması adına rica etsem düzenleme yapabilir misin?

Not: Yapmak istediğim şöyle; TBLCAHAR tablosunda düzenleme yapıldığında bu kaydı TBLEMANETIPTCH tablosuna yazdırmak istiyorum sonrasında bu kayıt üzerinde yine düzeltme olursa bir öncekini silip yeni düzenlemeyi yardırmak.
Birde TBLCAHAR tablosun dan silindiğinde bir kopyasınıda yine TBLEMANETIPTCH tablosuna iptal edilen kayıt diye yazdırmak istiyorum.
Şimdiden teşekkür ederim.

Kod: Tümünü seç

ALTER TRIGGER [dbo].[EmanetCariHareketKayit] ON  [dbo].[TBLCAHAR] --WITH ENCRYPTION
FOR UPDATE,INSERT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ACTIONTYPE char(1)=CASE WHEN NOT EXISTS(SELECT * FROM INSERTED) THEN 'D' -- DELETE
                                WHEN NOT EXISTS(SELECT * FROM DELETED)  THEN 'I' -- INSERT
                                ELSE 'U' -- UPDATE
                                END
IF  @ACTIONTYPE ='U'
UPDATE TBLEMANETIPTCH SET SUBE_KODU=INSERTED.SUBE_KODU,CARI_KOD=INSERTED.CARI_KOD,TARIH=INSERTED.TARIH,VADE_TARIHI=INSERTED.VADE_TARIHI,BELGE_NO=INSERTED.BELGE_NO,
ACIKLAMA=INSERTED.ACIKLAMA,HKA=INSERTED.HKA,BORC=INSERTED.BORC,ALACAK=INSERTED.ALACAK,BAKIYE=INSERTED.BAKIYE,DOVIZ_TURU=INSERTED.DOVIZ_TURU,DOVIZ_TUTAR=INSERTED.DOVIZ_TUTAR,
RAPOR_KODU=INSERTED.RAPOR_KODU,F9SC=INSERTED.F9SC,HAREKET_TURU=INSERTED.HAREKET_TURU,MIKTAR=INSERTED.MIKTAR,ILAVE_RAPOR_KODU=INSERTED.ILAVE_RAPOR_KODU,UPDATE_KODU=INSERTED.UPDATE_KODU,
KAPATILMIS_TUTAR=INSERTED.KAPATILMIS_TUTAR,ODEME_GUNU=INSERTED.ODEME_GUNU,FIRMA_DOVIZ_TIPI=INSERTED.FIRMA_DOVIZ_TIPI,FIRMA_DOVIZ_TUTARI=INSERTED.FIRMA_DOVIZ_TUTARI,PLASIYER_KODU=INSERTED.PLASIYER_KODU,
ENT_REF_KEY=INSERTED.ENT_REF_KEY,INC_KEY=INSERTED.INC_KEY_NUMBER,RAPOR_KODU2=INSERTED.RAPOR_KODU2,DUZELTMETARIHI=INSERTED.DUZELTMETARIHI,S_YEDEK1=INSERTED.S_YEDEK1,S_YEDEK2=INSERTED.S_YEDEK2,
F_YEDEK1=INSERTED.F_YEDEK1,F_YEDEK2=INSERTED.F_YEDEK2,C_YEDEK1=INSERTED.C_YEDEK1,C_YEDEK2=INSERTED.C_YEDEK2,B_YEDEK1=INSERTED.B_YEDEK1,I_YEDEK1=INSERTED.I_YEDEK1,L_YEDEK1=INSERTED.L_YEDEK1,
D_YEDEK1=INSERTED.D_YEDEK1,PROJE_KODU=INSERTED.PROJE_KODU,ONAYTIPI=INSERTED.ONAYTIPI,ONAYNUM=INSERTED.ONAYNUM,BAGLANTI_NO=INSERTED.BAGLANTI_NO FROM TBLEMANETIPTCH 
INNER JOIN INSERTED ON TBLEMANETIPTCH.INC_KEY=INSERTED.INC_KEY_NUMBER
WHERE TBLEMANETIPTCH.INC_KEY=INSERTED.INC_KEY_NUMBER
IF @@ROWCOUNT=0
INSERT INTO TBLEMANETIPTCH
     (SUBE_KODU,CARI_KOD,TARIH,VADE_TARIHI,BELGE_NO,ACIKLAMA,HKA,BORC,ALACAK,BAKIYE,DOVIZ_TURU,DOVIZ_TUTAR,RAPOR_KODU,
     F9SC,HAREKET_TURU,MIKTAR,ILAVE_RAPOR_KODU,UPDATE_KODU,KAPATILMIS_TUTAR,ODEME_GUNU,FIRMA_DOVIZ_TIPI,FIRMA_DOVIZ_TUTARI,
     PLASIYER_KODU,ENT_REF_KEY,INC_KEY,RAPOR_KODU2,DUZELTMETARIHI,S_YEDEK1,S_YEDEK2,F_YEDEK1,F_YEDEK2,C_YEDEK1,
     C_YEDEK2,B_YEDEK1,I_YEDEK1,L_YEDEK1,D_YEDEK1,PROJE_KODU,ONAYTIPI,ONAYNUM,BAGLANTI_NO,DURUM)
SELECT
     SUBE_KODU,CARI_KOD,TARIH,VADE_TARIHI,BELGE_NO,ACIKLAMA,HKA,BORC,ALACAK,BAKIYE,DOVIZ_TURU,DOVIZ_TUTAR,RAPOR_KODU,
     F9SC,HAREKET_TURU,MIKTAR,ILAVE_RAPOR_KODU,UPDATE_KODU,KAPATILMIS_TUTAR,ODEME_GUNU,FIRMA_DOVIZ_TIPI,FIRMA_DOVIZ_TUTARI,
     PLASIYER_KODU,ENT_REF_KEY,INC_KEY_NUMBER,RAPOR_KODU2,DUZELTMETARIHI,S_YEDEK1,S_YEDEK2,F_YEDEK1,F_YEDEK2,C_YEDEK1,
     C_YEDEK2,B_YEDEK1,I_YEDEK1,L_YEDEK1,D_YEDEK1,PROJE_KODU,ONAYTIPI,ONAYNUM,BAGLANTI_NO,DURUM='Düzeltilen Cari Hareket'
FROM INSERTED WHERE INC_KEY_NUMBER=INC_KEY_NUMBER
 
IF  @ACTIONTYPE ='D'
INSERT INTO TBLEMANETIPTCH
     (SUBE_KODU,CARI_KOD,TARIH,VADE_TARIHI,BELGE_NO,ACIKLAMA,HKA,BORC,ALACAK,BAKIYE,DOVIZ_TURU,DOVIZ_TUTAR,RAPOR_KODU,
     F9SC,HAREKET_TURU,MIKTAR,ILAVE_RAPOR_KODU,UPDATE_KODU,KAPATILMIS_TUTAR,ODEME_GUNU,FIRMA_DOVIZ_TIPI,FIRMA_DOVIZ_TUTARI,
     PLASIYER_KODU,ENT_REF_KEY,INC_KEY,RAPOR_KODU2,DUZELTMETARIHI,S_YEDEK1,S_YEDEK2,F_YEDEK1,F_YEDEK2,C_YEDEK1,
     C_YEDEK2,B_YEDEK1,I_YEDEK1,L_YEDEK1,D_YEDEK1,PROJE_KODU,ONAYTIPI,ONAYNUM,BAGLANTI_NO,DURUM)
SELECT
     D.SUBE_KODU,D.CARI_KOD,D.TARIH,D.VADE_TARIHI,D.BELGE_NO,D.ACIKLAMA,D.HKA,D.BORC,D.ALACAK,D.BAKIYE,D.DOVIZ_TURU,D.DOVIZ_TUTAR,D.RAPOR_KODU,D.
     F9SC,D.HAREKET_TURU,D.MIKTAR,D.ILAVE_RAPOR_KODU,D.UPDATE_KODU,D.KAPATILMIS_TUTAR,D.ODEME_GUNU,D.FIRMA_DOVIZ_TIPI,D.FIRMA_DOVIZ_TUTARI,D.
     PLASIYER_KODU,D.ENT_REF_KEY,D.INC_KEY_NUMBER,D.RAPOR_KODU2,D.DUZELTMETARIHI,D.S_YEDEK1,D.S_YEDEK2,D.F_YEDEK1,D.F_YEDEK2,D.C_YEDEK1,D.
     C_YEDEK2,D.B_YEDEK1,D.I_YEDEK1,D.L_YEDEK1,D.D_YEDEK1,D.PROJE_KODU,D.ONAYTIPI,D.ONAYNUM,D.BAGLANTI_NO,DURUM='İptal Edilen Cari Hareket'
FROM INSERTED D
DELETE TBLEMANETIPTCH FROM TBLEMANETIPTCH,deleted WHERE TBLEMANETIPTCH.INC_KEY_NUMBER=deleted.INC_KEY_NUMBER
End
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2251
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Silinen ve Düzeltilen Kaydı Tabloya Eklemek

Mesaj gönderen freeman35 »

trigerlarını ayır, tek triger da yada her işlemin bir trigerda olması kod fazlalaığından başka bir şey tapmaz, ama sadeleşmiş olur, önce işlemleri tek tek yap. gerekirse, sonradan bir araya toplarsın.
güncelleme tekrarı için, tabloyu klonluyorsun, o zaman iki tabloda da primary key ler olmayacak mı ? klone table da primary key ye bakacaksın, varsa update yoksa insert.
Sildikten sonra kaydı bulamayacağına göre,silmek içinde "BEFORE" triger ı olmalı.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
ozcank
Üye
Mesajlar: 907
Kayıt: 28 Nis 2005 05:29

Re: Silinen ve Düzeltilen Kaydı Tabloya Eklemek

Mesaj gönderen ozcank »

freeman35 rica etsem bu triger örnek olması için uyarlayabilirmisin?
Cevapla