Şimdi Ara

MSSQL Trigger yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
684
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba, bir muhasebe programı kullanıyoruz. Bu program ara sıra bozuk kayıt atıyor tabloya, bozuk kayıt oluştuğu zamanda program evrak kaydetmeye izin vermiyor. Bu kayıt oluştuğu zaman otomatik olarak silecek bir trigger yazmak istiyorum kendi çapımda araştırarak birşeyler denedim ama bozuk kaydı silmiyor.
    Eksiğim nerede yada sorguyu düzelterek yardımcı olabilir misiniz? Şimdiden teşekkürler.
    Bahsettiğim bozuk kayıt egk_RECid_DBCno alanında "0" değer olarak kayıt oluştuğu zaman oluyor. Bende bu kaydı silmek istiyorum. Yaptığım trigger kodunu aşağıda paylaştım..
    ------------------
    USE [NURHAS]
    GO
    /****** Object: Trigger [dbo].[evrak_aciklama] Script Date: 4.9.2014 11:19:55 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER TRIGGER [dbo].[evrak_aciklama]
    ON [dbo].[EVRAK_ACIKLAMALARI]
    AFTER delete
    AS


    delete from EVRAK_ACIKLAMALARI where egk_RECid_DBCno=0
    -----------------------







  • mantık hatalı!

    aşağıda şunu diyorsun: eğer EVRAK_ACIKLAMALARI tablomda herhangi bir silme olunca

    delete from EVRAK_ACIKLAMALARI where egk_RECid_DBCno=0 kodunu çalıştır.

    Birazdan bişeyler önereceğim
  • öneri 1 : bir tane job oluştur her 5 dakikada "delete from EVRAK_ACIKLAMALARI where egk_RECid_DBCno=0 " kodunu çalıştırsın veya istediğin süreç içersinde.

    öneri 2 : yukardaki koduna after delete değilde "after insert" yaz yani tabloya her insert olduğunda "delete from EVRAK_ACIKLAMALARI where egk_RECid_DBCno=0" kodunu çalıştırsın.

    Not: tavsiyem 1. öneri trigger çalıştırmaktansa job daha iyidir.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.