Procedure dan Function PLSQL
Seperti yang sudah kita tau, PLSQL itu berbeda dari SQL query biasa. Hal ini di karenakan PL juga merupakan procedural language artinya kita bisa melakukan query dengan beberapa logika bahasa pemrograman dan procedure maupun funtion adalah salah satunya. Didalam PLSQL kita bisa membuat procedure dan funtion yang tujuannya agar procedure dan function itu bisa kita gunakan berkali-kali atau reuse terhadap query yang ingin kita jalankan.
Membuat dan Menghapus Procedure
Sebelum memulai ke pembahasan praktik, terlebih dahulu kalian tau apa itu procedure. Procedure pada oracle PLSQL adalah salah satu sub program di oracle PL/SQL yang tidak memberikan nilai return value secara langsung. Procedure disimpan di dalam database. Untuk membuat procedure kita tinggal memasukan sintaks atau script ke dalam query.CREATE OR REPLACE PROCEDURE cetak_tulisan IS CNT INT(3); BEGIN FOR CNT IN 1..5 LOOP DBMS_OUTPUT.PUT_LINE('Selamat Belajar PL/SQL.. PL/SQL Itu Asyik'); END LOOP; END cetak_tulisan; |
Procedure created.Untuk mengakses procedure yang sudah kita buat caranya cukup mudah, kita tinggal akses saja nama procedure yang di buat tadi pada query yang baru dengan menggunakan struktur PLSQL pastinya.
DECLARE BEGIN cetak_tulisan(); END; |
Maka output dari query yang kita buat dengan hasil dari pemanggilan procedure seperti ini.
Selamat Belajar PL/SQL.. PL/SQL Itu Asyik
Selamat Belajar PL/SQL.. PL/SQL Itu Asyik
Selamat Belajar PL/SQL.. PL/SQL Itu Asyik
Selamat Belajar PL/SQL.. PL/SQL Itu Asyik
Selamat Belajar PL/SQL.. PL/SQL Itu Asyik
Untuk menghapus procedure, kita tinggal melakukan query sederhana berikut ini. Maka otomatis akan memunculkan output bahwa procedure sudah di hapus atau drop
DROP PROCEDURE cetak_tulisan; |
Procedure dropped.
Procedure Input Data Sederhana
Jika sudah tau cara untuk membuat procedure, sekarang kita akan coba untuk membuat procedure untuk query input data sederhana. Berbeda dari procedure yang di contohkan di atas, pada procedure ini kita akan membuat parameter agar data yang dikirimkan ke procedure dikirim melalui parameternya.
Karena ini input data sederhana, tabel yang saya gunakan disini hanya memiliki 3 attribute yaitu kode_pelanggan, nama_pelanggan dan alamat_pelanggan. Untuk parameternya disini saya hanya menggunakan 2 attribute yaitu nama dan alamat saja, untuk primary key kode_pelanggan disini saya menggunakan program increment dengan mendeketeksi nilai max terbaru di tabel Pelanggan. Berikut sintaks untuk procedurenya.
CREATE OR REPLACE PROCEDURE Insert_Data_Pelanggan (name IN PELANGGAN.Nama_Pelanggan%TYPE, alamat IN PELANGGAN.Alamat_Pelanggan%Type) IS ID_Pel NUMBER (3); BEGIN SELECT MAX(Kode_Pelanggan) INTO ID_Pel FROM PELANGGAN; INSERT INTO PELANGGAN (Kode_Pelanggan, Nama_Pelanggan, Alamat_Pelanggan) VALUES ((ID_Pel + 1), name, alamat); END Insert_Data_Pelanggan; |
DECLARE BEGIN Insert_Data_Pelanggan('Amelia', 'Tanggerang'); END; |
Maka hasilnya akan seperti ini.
Membuat Function di PLSQL
Selanjutnya kita coba buat function. Bedanya dari procedure, function memberikan nilai return value untuk dikirimkan ulang. Contoh function yang saya akan contohkan disini adalah function penjumlahan 2 bilangan sederhana biasa. Dan sama seperti contoh diatas, saya akan menggunakan parameter bil1 dan bil2 untuk ditampung dalam functionnya. Berikut query pembuatan functionnya.
CREATE OR REPLACE FUNCTION tambah(bil1 in NUMBER, bil2 in NUMBER) RETURN NUMBER IS jumlah NUMBER(5); BEGIN jumlah := bil1+bil2; RETURN jumlah; END tambah; |
Dan ini query untuk pemanggilan function penjumlahannya.
DECLARE bil1 NUMBER(3); bil2 NUMBER(3); BEGIN bil1 := 10; bil2 := 5; DBMS_OUTPUT.PUT_LINE('Hasil penjumlahan '||bil1||' dan '||bil2||' adalah '|| tambah(bil1, bil2)); END; |
Maka hasilnya akan seperti berikut ini.
Hasil penjumlahan 10 dan 5 adalah 15
Demikian penjelasan singkat mengenai procedure dan function di PLSQL Oracle. Semoga bermanfaat dan memudahkan pembaca. Kita lanjutkan pembahasan di artikel selanjutnya. Terima kasih, salam database.
Comments
Post a Comment