Şimdi Ara

TRİGGER mı TRANSACTİON mu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
4
Cevap
0
Favori
233
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Bir kaydet butonuna basılınca arka arkaya bi sürü işlem yapılıyor programlarda.

    ÖRNEK Fatura Kaydet diyince sırayla stokhareketini kaydediyor, stokta kalan miktarı güncelliyor , Carinin Bakiyesini güncelliyor , Faturayı kaydediyor.
    Şimdi bakiye güncellerken bir hata oluştuğu zaman eski kaydettikleri kalıyor ve kendinden sonrakileri de kaydediyor. Bunu bi türlü aşamadım.
    Yani programlarda mantık benim bildiğim herangi bir yerde hata olursa hiçbiyere kaydetmez.
    TRİGGERLAR veya TRANSACTİON benim işimi çözebilir ama hangisi ve nasıl çözer.

    SQL Server 2000 kullanıyorum.Trigger diye bişey bulamıyorum içinde .Stored procedurede sağ tıklayıp yeni açabiliyorum ama triggerı nerden nasıl açıcam

    daha öncede niyetlendim öğrenmeye fakat daha trigger ve TRANSACTİON yaratmasını bilmiyorum .
    Tam anlamıyla bir örnek olursa baştan sona


    BİLENLER YARDIMCI OLURSA SEVİNİRİM







  • İlk defa duydum bu programları,
  • rollback, commit - transaction komutlarıdır.
    Aralarında mantıksal ilişki bulunan birden fazla
    tablo var, ve bunlar peşpeşe günlenecek ise,
    işlemleri yığın olarak yapmak zorundasın; yoksa
    hata durumunda işlemleri geri almak çok zor olur.

    Veritabanı komutlarında "begintransaction" ya da buna benzer
    bir komut vardır. Bu komutla, parçalanamayacak
    yani bir bütün olarak yapılacak işlemler için veritabanına
    gereken bilgi gitmiş olur.
    Bundan sonra A, B, C ... tablolarını günlersin, değiştirir ya da
    silersin. İşlemler sorunsuz biterse, "transaction.commit" (ya da benzeri bir)
    komutla, yapılan işlemlerin veritabanına aktarılmasını sağlarsın.
    Eğer arada bir problem olursa ve işlemleri geri alman gerekirse de
    "transaction.rollback" (ya da benzeri bir) komutu çalıştırıp,
    veritabanını eski haline getirirsin.

    trigger'lar ise, server tarafında yani ana makinede
    komut çalıştırmak içindir.
    Temel olarak, bir x olayı olduğunda (örn. kayıt silindiğinde)
    ana makinede bir komut (ya da daha doğru ifade ile yordam)
    çalıştırır; böylece örn. her kayıt silindiğinde Z tablosuna
    bu bilgiyi tarih-saat ile kaydedersin.. Bu işlemler için client programları
    değiştirmene gerek kalmaz; işlem ana makinede gerçekleşir.

    Transaction, commit ya da rollback gibi anahtar kelimeleri
    kullandığın veritabanında aratırsan, sana sözdizimini mutlaka
    gösterir. Temel olarak transaction'ların mantığı böyle :
    önce transaction başlatırsın,
    sonra gerektiği kadar tablo üzerinde işlem yaparsın,
    commit yapıncaya kadar bu bilgiler kaydedilmez.

    Umarım yararı olmuştur..




  • Saolasın ben de şunu buldum örnek:
    http://www.mutasyon.net/makaleoku.asp?id=728
  • Yapay Zeka’dan İlgili Konular
    Get contact nedir bu saçmalık?
    7 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.