Translate
17 Aralık 2014 Çarşamba
PL/SQL(2): Cursor Kullanımı
Selamlar, bu yazıda pl/sql cursor kullanımı anlatılacaktır. Öncelikle, kullanacağımız basit bir table oluşturuyoruz;
CREATE TABLE dersler
(
id INTEGER,
ad VARCHAR2(50)
);
Tabloya kayıtları insert ediyoruz;
insert into dersler(id,ad) values(1,'A');
insert into dersler(id,ad) values(2,'B');
insert into dersler(id,ad) values(3,'C');
insert into dersler(id,ad) values(4,'D');
insert into dersler(id,ad) values(5,'E');
Cursor kullanıma dair ilgili script örneğini şu şekildedir;
DECLARE
c_id dersler.id%type;
c_ad dersler.ad%type;
CURSOR c_dersler is
SELECT id,ad FROM dersler where id>3;
BEGIN
OPEN c_dersler;--cursor acılıyor.
LOOP
FETCH c_dersler into c_id, c_ad;--cursordaki o anki satır verileri degiskenlere aktarılıyor.
EXIT WHEN c_dersler%notfound;--cursorda veri kalmadıgı surece dongu bir sonraki veriye gecerek devam ediyor.
IF c_id<5 THEN--id'si 5 den kücük kontrolü yapılıyor.
dbms_output.put_line(c_id || '=>' || c_ad);
END IF;
END LOOP;
CLOSE c_dersler;--islem sonrasında cursor kapatılıyor.
END;
/
Scripti çalıştırdığınızda output olarak göreceğiniz değer ; 4=>D
Cursor kullanımı ile;
1)İstediğiniz tablo ile ilgili olarak tüm dataların kontrollerini dongu vasıtasıyla satır satır kontrol edebilmeniz mümkündür.
2)İlgilendiğiniz tablodaki istediğiniz şartlara uyan dataları çekebilmenizi ve işleyebilmenizi sağlar.
Script örneğinde; dersler tablosunda yer alan ders adlarını ve id bilgilerinden id'si 3 den büyük dataları cursor ile ilişkilendirmiş oluyoruz. Döngü içerisinde ise cursor da bulunan id'si 3 den büyük verilerden id'si 5 den küçük olan (id=4) ekrana basılmış oluyor.
Bu ders ile cursor kullanımına dair fikir edinebilmeniz amaçlanarak basit bir örnek üzerinden anlatım gerçekleştirilmiştir. Faydalı olması dileğiyle, sağlıcakla...
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder