Trigger hatası

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
ErdalTunal
Üye
Mesajlar: 4
Kayıt: 18 Eki 2005 10:55
Konum: Proksis

Trigger hatası

Mesaj gönderen ErdalTunal »

Arkadaşlar Aşagıdaki Trigger Enterprise Hazırladım Hatasız Çalışıyor

CREATE TRIGGER [AjanBil] on [dbo].[AjanBilgileri]
FOR INSERT,UPDATE
NOT FOR REPLICATION
AS
BEGIN
Update AjanBilgileri Set PrimDurumu=Null Where (IstenCikisTarihi is Null) and (EvragiGeldi =1) and (KayitUcretiGeldi=1) and ( AdayBilgiFormuGeldi =1)
Update AjanBilgileri Set PrimDurumu=1 Where Not (IstenCikisTarihi is Null)
Update AjanBilgileri Set PrimDurumu=1 Where (IstenCikisTarihi is Null) and (EvragiGeldi<>1 or KayitUcretiGeldi<>1 or AdayBilgiFormuGeldi<>1)
Update AjanBilgileri Set PrimDurumu=1 Where (IstenCikisTarihi is Null) and (EvragiGeldi is null or KayitUcretiGeldi is Null or AdayBilgiFormuGeldi is Null)
END



Fakat Delphi Ortamında Post Yapınca 'Anahtar Sütun Bilgileri Yetersiz veya Yanlış . Güncelleştirme Çok Fazla Satırı Etkiledi ' Hatası veriyor. Bu konuda Yardıcı olursanız sevinirim...
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
sanki triger içerisind bi döngüye giriyor gibime geldi.
ajanbilgileri tablosunun trigerinde ajanbilgileri tablosunu set etmişsiniz.
oda tekrar ajanbilgilerini çağırıyor gibime geldi.
yok öyle bişey diyorsanız trigerdaki satırların hepsini iptal edin.
sonra tek tek açık trigeri çalıştırın hata verdiği kodda bi sıkıntı vardır.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Mesaj gönderen akdatilla »

Merhaba
Bu sorun kullandığınız datasetin özelliklerinden kaynaklanıyor olabilir.
Daha önce benim de böyle birşey başıma gelmişti.
Hangi özellik olduğunu tam hatırlamıyorum.
Ben ADOQuery kullanıyorum.
Şu özellikleri bir kontrol edin bence
Özellik:Default değer
CursorType:Keyset
LockType:Optimistic
CursorLocation:UseClient
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Bu hata değil ama M$ işgüzarlığı uyarı amaçlı bir exception oluşturuyor. Bu durumu giderebilmen için triggerlarının ilk satırında set nocount on son satırında ise set nocount off kodlarını kullanman gerekiyor. Kodlarını bu hale getirmeni tavsiye ederim.

Kod: Tümünü seç

CREATE TRIGGER [AjanBil] on [dbo].[AjanBilgileri]
FOR INSERT,UPDATE
NOT FOR REPLICATION
AS
BEGIN
set nocount on
Update AjanBilgileri Set PrimDurumu=Null Where (IstenCikisTarihi is Null) and (EvragiGeldi =1) and (KayitUcretiGeldi=1) and ( AdayBilgiFormuGeldi =1)
Update AjanBilgileri Set PrimDurumu=1 Where Not (IstenCikisTarihi is Null)
Update AjanBilgileri Set PrimDurumu=1 Where (IstenCikisTarihi is Null) and (EvragiGeldi<>1 or KayitUcretiGeldi<>1 or AdayBilgiFormuGeldi<>1)
Update AjanBilgileri Set PrimDurumu=1 Where (IstenCikisTarihi is Null) and (EvragiGeldi is null or KayitUcretiGeldi is Null or AdayBilgiFormuGeldi is Null)
set nocount off
END 
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
dabaddah
Üye
Mesajlar: 167
Kayıt: 13 Mar 2008 04:42
Konum: istanbul

Re: Trigger hatası

Mesaj gönderen dabaddah »

eyvallah akdatilla kardeşim

CursorType:Keyset verdiğin bu bilgiyle beni büyük bir sıkıntıdan kurtardın.

saolasın.
insanın özü tanımasına engel olan perdeleri;
1.kendini beden sanma
2.vehmî benlik
3.beş duyu blokajları
4.toplumsal şartlanmalar ve şartlanmaların oluşturduğu değer yargıları ve değer yargılarından gelen duygular
kişi bu perdelerden arınmadıkça göresel kozasında yaşar ve bir ipek böceği gibi kaynar kazana atılır.
Cevapla