search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
2.4k gösterim

oracle veri tabanında şöyle bir hata alıyorum. Cursor değerini getirmeye çalışırken

  • ORA-01002: fetch out of sequence 
 procedure ....
  cursor c is
      select *
        from TABLE t
       where t.column_a= 'PR'
         and t.column_b= p_parameter;

begin

    update TABLE t
       set t.column_a= 'PR'
     where t.column_a is null
       and t.column_b = p_parameter;

    for r in c
    loop

   ....  
    end loop;

  .........


 

Veri Tabanı kategorisinde 2.0k puan
düzenledi

1 cevap

0 oy

Önce tabloya bir update atmışsın, bu update commit edilmeden o update edilen kayıtlar üzerinde işlemler yapmaya başlamışsın.

Biraz araştırdığım zaman güzel bir açıklaması var.

Cause: This error means that a fetch has been attempted from a cursor which is no longer valid.

Yani; artık uygunluğunu kaybetmiş bir cursor üzerinden kayıt çekmeye çalışmak ile yaşanacak sorundur.

Update işlemi ile for işlemi arasında bir commit atılmış olsa bu hatayı almazsın gibi geldi bana. Ama doğru çözüm müdür bilemedim.

6.2k puan
düzenledi

İlgili sorular

0 oy
1 cevap 508 gösterim
508 gösterim
selamlar, veri tabanında bulk olarak bir veri insert işlemi yapmaya çalışıyorum. her kayıt için de bir sequence numarası üretiyorum. ör: company_seq olsun. bunu 1 den başlatım. Cash size'ı 0 vermek ile vermemek bana performans açısından kazanç sağlar mı? bu değeri 100 veya 1000 yapmak çok farkeder mi?
25 Nisan 2018 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
2 cevap 2.1K gösterim
2.1K gösterim
Veri tabanında bir tabloyu truncate etmeye çalışırken "ora-00054 kaynak meşgul ve nowait" hatası aldım. Nasıl tabloyu truncate ederim, locked halini nasıl kill ederiz. delete from table_name yapınca silebilmiştim. Denk mi geldi pek bilmiyorum.
15 Ağustos 2018 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 778 gösterim
778 gösterim
Oracle veri tabanında bir indexi güncellemek istedim. Drop edip yeniden eklemek istedim drop index INDEX_NAME şeklinde ama ORA-02429 hatası alıyorum.
19 Ağustos 2019 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 518 gösterim
518 gösterim
Veri tabanında Member diye bir tablom var. Bunun id=5 olan kaydın "salary" column un ="100" değerinde. Dışarıdan iki farklı kişi aynı anda bu veriye erişip güncellemeye çalışyor. Birin yaptığı değişiklği diğeri görmeden ezebilir. Bu durumda nasıl bir çözüm üretebiliriz?
21 Eylül 2020 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 590 gösterim
590 gösterim
Bir tablodaki verilerin son 10 karakterinin içinde bir arama yapmak istiyorum. Bunun için nasıl bir sorgu kullanabilirim?
21 Mayıs 2019 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu