Cursor Implicit
cursor implisit sama dengan cara biasa tetapi pada kursor ini kita tidak perlu mendifinisikan bentuk dan jumlah variabel tersebut. tetapi hanya dapat menampilkan 1 data saja, jika pada tabel terdapat nama yang sama lebih dari 1 maka data tidak akan keluar.
contoh :
pada table hr dibuat perintah untuk mencari nama depan employees. tampilan nya adalah nama depan email dan nomor telepon employees tersebut.
contoh :
pada table hr dibuat perintah untuk mencari nama depan employees. tampilan nya adalah nama depan email dan nomor telepon employees tersebut.
declare
nama_cari employees.first_name%type;
nama_depan employees.first_name%type;
email employees.email%type;
telepon employees.phone_number%type;
begin
nama_cari:='&Masukkan_nama';
select first_name,email,phone_number
into nama_depan,email,telepon
from employees where first_name=nama_cari;
dbms_output.put_line('nama :'||nama_depan);
dbms_output.put_line('email :'||email);
dbms_output.put_line('telepon :'||telepon);
end;
Cursor Explicit
DOFC (Declare, Open, Fetch, Close)
DOFC (Declare, Open, Fetch, Close)
sama halnya seperti cursor implisit namun perbedaan dari cursor explicit, apabila ada data yang sama misal nama yang sama lebih dari 1 orang maka data nama tersebut akan di tampilan semua.
misalkan pada tabel employees terdapat 3 nama peter maka dengan menggunakan cursor explicit data dari ketiga nama peter tersebut masing-masing akan di tampilkan.
misalkan pada tabel employees terdapat 3 nama peter maka dengan menggunakan cursor explicit data dari ketiga nama peter tersebut masing-masing akan di tampilkan.
declare
nama_cari employees.first_name%type;
nama_depan employees.first_name%type;
email employees.email%type;
telepon employees.phone_number%type;
cursor ANU is
select first_name,email,phone_number
from employees
where first_name=nama_cari;
begin
nama_cari:='&Masukkan_nama';
open ANU;
LOOP
fetch ANU into nama_depan,email,telepon;
exit when ANU%notfound;
dbms_output.put_line('-----------------------------------');
dbms_output.put_line('nama :'||nama_depan);
dbms_output.put_line('email :'||email);
dbms_output.put_line('telepon :'||telepon);
dbms_output.put_line('-----------------------------------');
end loop;
close ANU;
end;
/
1 komentar:
sudah cukup bagus dengan ilustrasi tapi penjelasannya mungkin bisa ditambahkan lagi. terima kasih gilang.
Posting Komentar