Tuesday, September 7, 2010

Mencoba untuk kembali menulis setelah lama nelantarin blog ini karena banyak alasan (curhat dikit, haha). Sebelumnya maaf buat sobat sekalian yang sudah mengunjungi blog ini belum sempat aku kunjungi balik. Kali ini membahas tentang IT atau lebih tepatnya tentang database, yaitu function atau fungsi pada oracle 10g.

oracle 10g
Function atau fungsi adalah blok PL/SQL yang dapat mengembalikan nilai. Maka dari itu dalam pembuatannya juga kita harus menggunakan statemen RETURN untuk proses pengembalian nilai. berbeda dengan procedure atau prosedur yang diaktivasi oleh statemen EXECUTE.

Berikut adalah bentuk umum untuk membuat sebuah function :
CREATE OR REPLACE FUNCTION nama_function
(parameter_1 tipedata, parameter_2 tipedata, .......)
RETURN tipedata_function IS
variable-variable _lokal
BEGIN
statemen;
...
RETURN nilai_function;
END;
Sebagai contoh, di sini kita akan membuat sebuah fungsi yang dapat mengembalikan sebuah nama suplier yang memiliki kode "EJ-01".
create or replace function cari_NamaSuplier
return supplier.nama_suplier%TYPE is
vNamaSuplier suplier.nama_suplier%TYPE;
begin

select nama_suplier into vNamaSuplier from suplier
where kode_suplier = 'EJ-01';

return vNamaSuplier;
end;
Penjelasan :

a. create or replace function

Statemen CREATE digunakan untuk membuat function dan REPLACE digunakan untuk mengganti isi dari function jika nama function sudah ada dalam database.

b. return supplier.nama_suplier%TYPE is vNamaSuplier suplier.nama_suplier%TYPE

Artinya kita mendeklarasikan sebuah variabel yang bernama vNamasuplier dan %TYPE menunjukkan bahawa tipe data sama dengan kolom nama_suplier yang ada pada tabel suplier

c. select nama_suplier into vNamaSuplier from suplier where kode_suplier = 'EJ-01'

Ini adalah blok PL/SQL yang digunakan untuk menampilkan nama suplier dari tabel suplier yang berkode 'EJ-01'. Selanjutnya nama tersebut disimpan ke variabel vNamasuplier.

d. return vNamaSuplier;

Ini dalah nilai baliknya pada variabel vNamaSuplier.

Pemanggilan Fungsi

Pada fungsi kita dapat langsung memasukkan nilai ke dalam suatu variabel yang sama tipenya. Perhatikan contoh berikut ini :
SQL>declare
1 nama suplier.nama_suplier%TYPE;
2 begin
3 --memasukkan nilai yang dikembalikan fungsi kedalam variabel nama
4 nama := cari_NamaSuplier%TYPE;
5 dbms_output.put_line(nama);
6 end;
7 /
PT. ACTRON

PL/SQL procedure succesfully completed.

SQL>
Catatan kecil :
CMIIW a.k.a Correct Me If I Wrong ya sob. Ane Masih nubie, hehehe..
Categories:

0 comments:

Post a Comment

Silahkan berkomentar ria ^^

Subscribe to RSS Feed Follow me on Twitter!