Cursor Kullanımı

Bir sonuç kümesinden, satırları almak için kullandığımız işaretçiye CURSOR denir. SELECT komutundan dönen sonuçları ifade eden veri yapısı olarakta düşünebiliriz. Cursor kullanırken dikkatli olmak gerekir. Eğer çok fazla cursor açılır ve kapatılmazsa “ORA-0100: Maximum open cursors exceeded” hatası verebilir.

DECLARE
  CURSOR cur_1 IS
         SELECT tablo_adi FROM tablolar;
  v_tablo_adi tablolar.tablo_adi%TYPE;
  v_sayi INTEGER := 1;
BEGIN
  OPEN cur_1;
  LOOP
     FETCH cur_1 INTO v_tablo_adi;
     IF cur_1%notfound OR v_sayi > 2000 THEN
       EXIT;
     END IF;
     v_sayi := v_sayi + 1;
  END LOOP;
  IF cur_1%ISOPEN THEN
     CLOSE cur_1;
  END IF;
  DBMS_OUTPUT.put_line('Islenen satir sayisi: '||v_sayi);
END;

Leave a Reply

Your email address will not be published. Required fields are marked *