Forum

Bildirimler
Hepsini Temizle

Row Cannot be located for updating. Some values may have been changed since it was last read hatası hk.

Gökhan Erdoğdu
(@adaliadam)
Üye

Merhabalar

Logo Tiger kullanıyorum. SLSCLREL tablosuna bir kayıt atıldığında BEGDATE kolonunu boş geçmelerine önlem olarak bir insert trigger yazdım ve SLSCLREL tablosundaki son kaydın BEGDATE alanına GETDATE basıyorum.

fakat "Row Cannot be located for updating. Some values may have been changed since it was last read" hatasını alıyorum.

SET NOCOUNT ON ve WAITFOR DELAY denedim fakat çözüm olmadı.

yardımlarınızı rica ederim.

 

TRIGGER

görsel1
görsel2
görsel3

 

ALTER TRIGGER [dbo].[begdate_update] ON [dbo].[LG_215_SLSCLREL]

for insert

as

begin

UPDATE LG_215_SLSCLREL SET BEGDATE = GETDATE() WHERE LOGICALREF = (SELECT TOP 1 LOGICALREF FROM LG_215_SLSCLREL ORDER BY LOGICALREF DESC)

end

Botek Otomasyon
Raporlama ve Analiz Uzmanı

Alıntı
Topic starter Gönderildi : 23/06/2021 11:37
Konu Etiketleri
Vedat Özer
(@vedatozerr)
Üye

Merhaba,

Sadece ilgili eklenen kaydı update etmeniz gerekmektedir.  

حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Allah bize yeter, O ne güzel vekildir.
Antalya
[email protected]

CevapAlıntı
Gönderildi : 23/06/2021 12:19
Gökhan Erdoğdu
(@adaliadam)
Üye

@vedatozerr merhaba

 

zaten öyle yapmıyor muyum?

Botek Otomasyon
Raporlama ve Analiz Uzmanı

CevapAlıntı
Topic starter Gönderildi : 23/06/2021 12:21
Vedat Özer
(@vedatozerr)
Üye

Benim koddan okuduğum siz bütün kayıtlara update yapıyorsunuz, SELECT * FROM INSERTED diyip buradaki logıcalref almanız gerekmektedir.

 

حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Allah bize yeter, O ne güzel vekildir.
Antalya
[email protected]

CevapAlıntı
Gönderildi : 23/06/2021 12:49
Gökhan Erdoğdu
(@adaliadam)
Üye
SELECT TOP 1 LOGICALREF FROM LG_215_SLSCLREL ORDER BY LOGICALREF DESC)

 

aslında şöyle yapıyorum. slsclrel tablosundaki en büyük logicalref'e sahip satıra update ediyorum.

Botek Otomasyon
Raporlama ve Analiz Uzmanı

CevapAlıntı
Topic starter Gönderildi : 23/06/2021 12:51
Vedat Özer
(@vedatozerr)
Üye

Merhaba,

Aşağıdaki şekilde değiştirip deneyebilir misiniz.

 

ALTER TRIGGER [dbo].[begdate_update] ON [dbo].[LG_215_SLSCLREL]
FOR insert
as
BEGIN
DECLARE @LOGICALREF INT
SELECT @LOGICALREF= LOGICALREF FROM INSERTED
UPDATE LG_215_SLSCLREL SET BEGDATE = GETDATE() WHERE LOGICALREF = @LOGICALREF
END

حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Allah bize yeter, O ne güzel vekildir.
Antalya
[email protected]

CevapAlıntı
Gönderildi : 23/06/2021 13:52
Gökhan Erdoğdu
(@adaliadam)
Üye

@vedatozerr Vedat teşekkür ederim fakat yine hatayı aldım.

ek olarak şunu söylemeliyim. trigger çalışıyor istediğimizi yapıyor. sizinkinde de benimkinde de çalıştı ancak cari hesaplar sağ tık satış elemanı-cari hesap bağlantısına tıkladığımda bu hatayı alıyorum. belki uyarıdır. ok deyip geçiyorum açılan formda istediğimiz gerçekleşmiş. fakat her o forma ulaşmaya çalıştığımda o uyarıyı alıyorum.

o satırı silince de uyarı gidiyor. ilginç bir şekilde.

Botek Otomasyon
Raporlama ve Analiz Uzmanı

CevapAlıntı
Topic starter Gönderildi : 23/06/2021 15:40
Gökhan Erdoğdu
(@adaliadam)
Üye

az önce profiler'dan baktım sanırım sorun indexleme ile alakalı. ama o konuya pek hakim değilim.

 

GÖRSEL4

Botek Otomasyon
Raporlama ve Analiz Uzmanı

CevapAlıntı
Topic starter Gönderildi : 23/06/2021 16:21
Vedat Özer
(@vedatozerr)
Üye

Merhaba,

Birden fazla seçenek olabilir, logo genelde bu tür hataları veri kayıt etmede veriyor.

حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Allah bize yeter, O ne güzel vekildir.
Antalya
[email protected]

CevapAlıntı
Gönderildi : 23/06/2021 17:07
Paylaş: