Apa itu Function?
Function sebenarnya mirip dengan Procedure, HANYA function akan memberikan nilai balikan (return value).Lihat Juga : Procedure pada Oracle PL/SQL.
Sintak Dasar
Di bawah ini adalah sintak dasar untuk membuat function di Oracle PL/SQL.CREATE [OR REPLACE] FUNCTION function_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
RETURN return_datatype
{IS | AS}
BEGIN
< function_body >
END [function_name];
Keterangan:
- function_name adalah nama function yang akan kita buat. Sifatnya mandatory.
- parameter_name adalah parameter yang akan ditambahkan. Sifatnya opsional
- return_datatype adalah tipe data yang akan dibalikkan (return value).
- function_body adalah bagian tubuh dari function yang berisi program PL/SQL.
Contoh Program
Di bawah ini adalah contoh program sederhana untuk membuat function di Oracle PL/SQL
CREATE OR REPLACE FUNCTION NANO.tambah(bil1 in NUMBER, bil2 in NUMBER)
RETURN NUMBER IS
jumlah NUMBER(5);
BEGIN
jumlah := bil1+bil2;
RETURN jumlah;
END tambah;
/
Memanggil Function
Untuk memanggil function yang telah kita buat seperti pada contoh program diatas, Ada 2 macam cara yaitu:1. Menggunakan program PL/SQL
Kita dapat memanggil function yang telah kita buat dengan menggunakan program PL/SQL, caranya adalah sebagai berikut:DECLARE
bil1 NUMBER(3);
bil2 NUMBER(3);
BEGIN
bil1 := 10;
bil2 := 5;
-- Memanggil function tambah(bil1,bil2)
DBMS_OUTPUT.PUT_LINE('Hasil penjumlahan '||bil1||' dan '||bil2||' adalah '|| tambah(bil1, bil2));
END;
Output
Hasil penjumlahan 10 dan 5 adalah 15 PL/SQL procedure successfully completed.
2. Menggunakan Query
Selain menggunakan program PL/SQL seperti diatas, Kita juga dapat memanggil function dengan menggunakan query. Contohnya adalah:SQL> SELECT tambah(10,5) FROM dual;
TAMBAH(10,5)
------------
15
Melihat Daftar Function
Untuk melihat daftar function yang ada di database, Anda dapat menggunakan Query data dictionary di bawah ini:SQL> SELECT object_name 2 FROM user_objects 3 WHERE object_type = 'FUNCTION'; OBJECT_NAME ------------------------------------------- TAMBAH
Menghapus Function
Untuk menghapus function yang telah kita buat, Kita dapat menggunakan sintak di bawah ini:DROP FUNCTION function_name;
Contoh:
SQL> DROP FUNCTION tambah; Function dropped.
apakah function dapat menampilkan hasil data yang lebih dr 1 kolom?
ReplyDelete