Senin, 12 April 2010

Cursor pada pemrograman PL/SQL

Cursor adalah suatu variable dalam blok PL/SQL yang tidak mengijinkan seorang programer membuat query yang menghasilkan lebih dari satu baris untuk ditampung di dalam nya. Cursor ada 2 macam yaitu : 

a.       Cursor Eksplisit : Cursor yang harus dideklarasikan terlebih dahulu sebelum digunakan, sedangkan
b.      Cursor Implisit : Cursor yang tidak perlu dideklarasikan dulu pada declare section. contoh cursor implisit diasosiasikan dengan perintah SELECT, INSERT, DELETE, dan UPDATE.
Contoh program : 
           a.       Cursor Eksplisit
DECLARE
CURSOR c_nama IS
SELECT nama_petugas FROM pegawai ORDER BY nama_petugas ASC;
v_nama PETUGAS.nama_petugas%TYPE;
BEGIN
FOR X IN c_nama
LOOP
DBMS_OUTPUT.PUT_LINE (c_nama%ROWCOUNT ||'Daftar Nama Petugas : ' || x.nama_petugas);
END LOOP;
END; 
b.      Cursor Implisit
DECLARE
id VARCHAR2(10);
 vnama_petugas PETUGAS.nama_petugas%TYPE;
BEGIN
id := 'PG-010'; //assigment value
SELECT nama_petugas INTO vnama_petugas FROM PETUGAS WHERE id_petugas = id;
IF SQL%NOTFOUND THEN
DBMS_OUTPUT.PUT_LINE('Data ditemukan');
ELSE
DBMS_OUTPUT.PUT_LINE ('Nama petugas dengan id : ' || id || 'adalah ' || vnama_petugas);
END IF;
END;

 

1 komentar: