Procedure di Oracle Pl/SQL


Apa Itu Procedure?


Procedure adalah salah satu subprogram di Oracle PL/SQL yang tidak memberikan nilai (return value) secara langsung. Procedure disimpan dalam database.

Membuat Procedure

Untuk membuat procedure di Oracle PL/SQL kita dapat menggunakan perintah CREATE OR REPLACE PROCEDURE.

Di bawah ini adalah sintak dasar untuk membuat procedure:


CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
{IS | AS}
BEGIN
< procedure_body >
END procedure_name;

Keterangan:

procedure_name adalah nama yang digunakan untuk prosedure
[OR REPLACE] digunakan untuk modifikasi procedure yang telah dibuat (existing procedure)
paramater_name adalah parameter yang ditambahkan dalam procedure
IS atau AS adalah keyword yang digunakan untuk standalone procedure.
procedure_body adalah bagian isi (executable) dari procedure.

Procedure bisa mempunyai parameter yang bisa digunakan untuk mengirim nilai ke dalam prosesure dan menampung hasil proses dari procedure.

Ada tiga mode parameter untuk stored procedure yaitu:

IN
mengirim nilai (angka,variable, ekspresi)
OUT      
menampung hasil dari proses procedure (variabel)
IN OUT
mengirim nilai dan menampung hasil proses (variabel)

Menghapus Procedure

Untuk menghapus procedure, Anda dapat menggunakan perintah/sintak di bawah ini:

DROP PROCEDURE nama_procedure;

Contoh: 






Studi Kasus :

1. Membuat prosedur yang bisa menampilkan pesan bahwa bilangan yang diinputkan adalah bilangan genap atau ganjil!

Berikut Sintaknya:


create or replace procedure gg(var number) is
begin
if (var mod 2 = 0) then
dbms_output.put_line (var||' Adalah Bilangan Genap');
else
dbms_output.put_line (var||' Adalah Bilangan Ganjil');
end if;
end gg;
/


Pada studi kasus kali ini saya menggunakan If-Then-Else Statement, dimana ketika angka yang di inputkan dibagi 2 sisa hasil baginya 0 maka angka tersebut adalah bilangan genap dan akan keluar pesan seperti diatas. Jika tidak maka bilangan tersebut adalah bilangan ganjil, dan akan keluar pesan seperti diatas.

2. Membuat prosedur untuk menghitung jumlah panjang karakter nama yang di-inputkan! Handle kesalahan jika yang dimasukkan bukan merupakan karakter.

Berikut Sintaknya:


create or replace procedure c(chr in varchar2) is
begin
dbms_output.put_line
('Panjang Karakter Adalah: '||length(regexp_replace(chr, ' ')));
end c;
/


Pada studi kasus di atas yang di hitung sebagai karakter adalah semua bentuk inputan terkecuali spasi. Saya menggunakan Ekspresi Reguler regexp_replace untuk membaca karakter apa saja selain spasi, lalu menggunakan length untuk menghitung jumlah karakter yang di baca oleh regexp_replace.

Sekian dari saya, semoga bermanfaat.. 

Daftar Referensi:

https://www.techonthenet.com/oracle/
http://nano-tutorial.blogspot.co.id/2015/04/procedure-pada-plsql.html
https://disiniabuabu.blogspot.co.id/2017/02/plsql-contoh-program-menggunakan.html

Tidak ada komentar:

Posting Komentar