School of Information Systems

Explicit Cursor

Explicit Cursor adalah sejenis pointer yang digunakan untuk menampilkan baris-baris yang ada di dalam sebuah penyimpanan SQL. Explicit Cursor dapat mengembalikan lebih dari 1 baris. Cursor ini disebut “explicit” karena harus dideklarasikan dan didefinisikan terlebih dahulu.

Sebenarnya, Oracle sudah memberikan implicit cursor yang berguna untuk menamakan sebuah context area dan mengakses data yang disimpan di area tersebut. Sayangnya implicit cursor ini hanya dibuat otomatis untuk statement DML dan SELECT yang mengembalikan satu baris.

Explicit cursor dapat mengambil beberapa baris sekaligus dari tabel, memberikan pointer untuk setiap baris, dan mengerjakan setiap baris satu per satu.

Pada contoh berikut explicit cursor dibuat untuk menampung staffName dan staffEmail dari tabel staff untuk mencetak tiap baris data yang ada:

DECLARE

 CURSOR cur_staff IS

 SELECT staffName, staffEmail

 FROM staff

 v_name staff.staffName%TYPE;

 v_email staff.staffEmail%TYPE;

BEGIN

 OPEN cur_staff;

 LOOP

  FETCH cur_staff INTO v_name, v_email;

  EXIT WHEN cur_staff%NOTFOUND;

  DBMS_OUTPUT.PUT_LINE(‘Email of ‘||v_Name||’ is ‘||v_Email);

 END LOOP;

 CLOSE cur_staff;

END;

Cursor dideklarasikan terlebih dahulu, kemudian di-Open, dan di-Fetch satu persatu data dengan menggunakan basic Loop. Terakhir cursor di-Close.

Aileen, Mediana Aryuni