twitter
    Find out what I'm doing, Follow Me :)

Rabu, 27 Oktober 2010

LOOP, Cursor EKSPLISIT, Cursor IMPLISIT

LOOP
--------
Pasti kalian langsung paham ketika mendengar kata ini. yap benar LOOP adalah struktur simple yang digunakan bile diinginkan minimal iterasi dijalankan satu kali. dalam struktur ini harus ditambahkan statment EXIT WHEN untuk menghindari eksekusi tak terbatas (menghentikan proses LOOP. contoh dapat dilihat dibawah:
1. buka notepad.
2. ketikan script seperti dibawah ini
declare
x number(3);
z number(3);

begin
x:=&Masukan_angka;
z:=15;
loop
dbms_output.put_line(x);
exit when x > z;
x:= x+3;
end loop;
end;
/

script diatas dimaksudkan adalah berapapun angka yang kita masukan akan keluar dan berulang serta bertambah 3 dalam setiap prosesnya dan belum berhenti selama belum melebihi angka 15.

3. lalu save dengan type file loop.sql
4. buka oracle dengan command line
5. masuk dengan user kalian
6. ketik set serveroutput on
7. lalu ketik @'D://Poltek/Semester 3/Sistem Manejemen Basis Data/loop.sql'
8. dan masukan iputan angka kalian


Cursor EXSPLISIT
-------------------------
Cursor EXSPLISIT merupakan cursor yang harus dibuka dan ditutup secara manual.
kali ini kita akan membuat script mencari first_name pada table emplooyes pada user hr di oracle kita.
1. buka notepad ketikan script ini
declare
nama_cari employees.first_name%type;
nama_depan employees.first_name%type;
emailnya employees.email%type;
telepon employees.phone_number%type;
cursor ada is
select first_name,email,phone_number
from employees
where first_name=nama_cari;

begin
nama_cari:='&Masukan_Nama';
open ada;
loop
fetch ada into nama_depan,emailnya,telepon;
exit when ada %notfound;
dbms_output.put_line('First Name : '||nama_depan);
dbms_output.put_line('Email : '||emailnya);
dbms_output.put_line('Phone Number : '||telepon);
end loop;
close ada;
end;
script diatas maksudnya adalah mencari first_name,email,phone_number dari first_name yang kita inputkan proses akan terus berulang sampai benar-benar bahwa first_name yang kita inputkan tidak ada.

2. lalu save dengan nama dan type file DOFCcari.sql
3. buka oracle di command line masuk ke user hr dengan cara sqlplus hr/hr
4. lalu ketik dahulu set serveroutput on
5. dan ketik @'D://Poltek/Semester 3/Sistem Manejemen Basis Data/DOFCcari.sql'
6. dan pada inputan masukan nama ketik Susan
7. akan keluar output
First Name : Susan
Email : SMAVRIS
Phone Number : 515.123.7777

Cursor IMPLISIT

-----------------------
Cursor IMPLISIT merupakan cursor yang tidak perlu dideklarasikan sebelumnya.
kali ini kita akan membuat script mencari first_name pada table emplooyes pada user hr di oracle kita.
1. buka notepad ketikan script ini
declare
nama_cari employees.first_name%type;
nama_depan employees.first_name%type;
emailnya employees.email%type;
telepon employees.phone_number%type;

begin
nama_cari:='&Masukan_Nama';
select first_name,email,phone_number
into nama_depan,emailnya,telepon
from employees
where first_name=nama_cari;
dbms_output.put_line('First Name : '||nama_depan);
dbms_output.put_line('Email : '||emailnya);
dbms_output.put_line('Phone Number : '||telepon);
end;
/
script diatas mempunyai fungsi yang sama dengan Cursur EXSPLISIT maksudnya adalah mencari first_name,email,phone_number dari first_name yang kita inputkan. akan tetapi proses ini tidak begitu akurat seperti halnya Cursor EXSPLISIT

2. lalu save dengan nama dan type file cari.sql
3. buka oracle di command line masuk ke user hr dengan cara sqlplus hr/hr
4. lalu ketik dahulu set serveroutput on
5. dan ketik @'D://Poltek/Semester 3/Sistem Manejemen Basis Data/cari.sql'
6. dan pada inputan masukan nama ketik Susan
7. akan keluar output
declare
*
ERROR at line 1:
ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at line 17
kata-kata diatas bukanlah error serius akan tetapi pencarian tidak begitu sempurna. mangkanya saya menganjurkan menggunakan Cursor EXSPLISIT

OK sekian dahulu postingan saya semoga bermanfaat bagi kalian yang membaca
Thanks dan Selamat Mencoba
Next.....

Senin, 11 Oktober 2010

ANONYMOUS PL/SQL

Anonymous pl/sql adalah sebuah scripting pl/sql sederhana yang digunakan dalam sebuah pembuatan database dalam oracle dll.
adapun cara penggunaanya sebagai berikut :
1. buka notepad lalu ketikan scripnya didalam notepad
2. lalu jika sudah selesai save as
3. pada Save as type pilih All files
4. pada File name save dengan nama yang diinginkan lalu diikuti dengan .sql seperti contoh dibawah ini.
langsung aja ya....
1. buka dulu oracle
2. ketikan script ini kedalam notepad mu
declare
X number(2);
Y number(2);
A number(4);
B number(4);

begin
X:=&nilai_X;
Y:=&nilai_Y;
A:=2*X+2*Y;
B:=X*Y;

dbms_output.put_line('Persegi Panjang ini kelilingnya '||A||'cm');
dbms_output.put_line('dan Luasnya '||B||'cm');
end;
/
ini adalah sebuah script untuk menghitung keliling dan luas persegi panjang
dimana x adalah alas sedangkan y adalah tinggi
x=alas
y=tinggi

3. jika sudah selesai simpan dengan file name .sql for example(pra3.sql)
4. lalu ketik kan alamat file yang sudah kita buat(ingat yang typenya sudah .sql ya)
contoh: @'D:\Semester 3\Sistem Manejemen Basis Data\pra3.sql'

5. jika output tidak keluar setelah kita menginputnya coba ketik kan script ini dahulu
set serveroutput on pada cmd kita lalu ketikan kembali @'D:\Semester 3\Sistem Manejemen Basis Data\pra3.sql'

6. pasti akan bisa, jika tidak bisa juga berarti kalian salah menginput nya atau mungkin komputer/laptop kalian yang rusak hahaha....
segini dulu ya... selamat mencoba dan semoga sukses
Next.....