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

Sorunuz mu var? Belki de çoktan soruldu..

0
oracle da büyük boyutta data silmeyi nasıl güvenli şekilde cursor yazabilirim?

Açık 1 Cevaplar 21 Gösterim Veri Tabanı
Oracle db de, pl/sql dilini kullanarak büyük miktarda data silme işlemi yapmak istyorum. Nasıl bir cursor yazabilirim?

1 cevap

0

DMBS job olarak yaratmak daha hızlı ve güvenlidir .

Normal SQL komut satırında çalıştırmaya kalkarsan connection kopması, IDE den kaynaklı veya çeşitli hatalardan dolayı sorun yaşabilirsin.

Örnek bir script şu şekilde olabilir

declare
  v_ctr pls_integer := 0;
begin
  loop
    delete from TABLE t
       where rownum < 1000;
   if sql%rowcount = 0 then 
       exit;
   end if;
    commit;
   end loop
  commit;
end;

Burda tablo (TABLE) üzerinden ilk 1000 kaydı sil diye komut çalıştırıyoruz. Şayet silinmiş kayıt yoksa (sql%rowcount = 0) çıkış yapıyoruz. Eğer kayıtlar silinmeye devam ederse bitene kadar dönüyoruz.

8 Kasım 2016 tolga (1,618 puan) cevapladı
1Yorumlar
8 Kasım 2016 kenan (2,835 puan) yorumladı
...