2. DEFINISI
Cursor adalah nama untuk sebuah area SQL
dimana informasi untuk pemrosesan pernyataan
SQL yang sifatnya spesifik disimpan. Dalam hal ini
PL/SQL menggunakan cursor implisit maupun
cursor explisit.
Atribut cursor mengembalikan informasi yang
bermanfaat tentang status cursor dalam
pengeksekusian pernyataan PL/SQL.
2
3. Cursor digunakan dalam script PL/SQL untuk
menampilkan data yang tersimpan di dalam
database.
Ada dua macam cursor yaitu implicit cursor (kursor
implisit) dan explicit cursor (kursor eksplisit).
Implicit cursor adalah cursor yang tidak perlu
dideklarasikan pada bagian declaration, sedangkan
explicit cursor harus dideklarasikan di bagian
declaration.
3
7. 4 TAHAP EXPLICIT CURSOR
1. Pada tahap DECLARE, cursor dideklarasikan pada blok
PL/SQL. Cursor perlu dideklarasikan karena sifat cursor
yang menyerupai variable (dapat dipanggil dalam blok
utama program) namun deklarasi untuk cursor diletakkan
setelah deklarasi variable lain, tepat sebelum awal program
(begin)
2. Pada tahap OPEN, cursor dibuka (query dalam cursor
dieksekusi dan hasilnya ditampung dalam memory)
3. Pada tahap FETCH, satu baris data dalam cursor diambil
dan ditransfer ke variable penampung yang ada pada klausa
into. Karena jumlah baris data kemungkinan lebih dari satu
maka biasanya fetch diletakkan dalam looping yang akan
berhenti begitu semua baris data dalam cursor selesai di-
fetch ke variable penampung
4. Pada tahap CLOSE, cursor ditutup dan hasil query dalam
cursor dihapus dari memory
7
12. LATIHAN
1. Buatlah statement PL/SQL dengan menggunakan
cursor utk menampilkan employee_id,
department_id, salary, dan rata-rata salary per
departemen maksimal 10 baris. Dan Tampilkan
juga berapa rows yg ditampilkan.
12
13. 2. Tampilkanlah first name, last name, dan salary
dari tabel employees dengan menggunakan
cursor yang memiliki sebuah parameter.
Kemudian Tampilkan data karyawan tersebut
dimana karyawan tersebut memiliki salary yang
nilainya lebih kecil dari salary dari parameter
cursor
13
14. 3. Buatlah sebuah cursor yang digunakan untuk
mengUPDATE salary karyawan menjadi 2 kali gaji
awal dimana id karyawan tersebut adalah 109.
Kemudian tampilkan pesan ‘Data Telah diUpdate’
ketika data telah berhasil diUPDATE (gunakan
PARAMETER!) dan tampilkan pesan ‘Karyawan
tidak ditemukan’ ketika employee_id nya tidak
terdapat dalam database.
14