Anda di halaman 1dari 14

10 – MYSQL STORED

PROCEDURE
Administrasi Basisdata

- Muhamad Matin Mutaqin, S.Kom


Stored Procedure
Stored procedure memungkinkan sebuah aplikasi
berbasis database (SQL) mendefinisikan dan kemudian
memanggil prosedur melalui pernyataan SQL.

Stored procedure dapat digunakan untuk aplikasi


terdistribusi (client server) maupun aplikasi tidak
terdistribusi (lokal).
Stored Procedure
Keuntungan besar dalam menggunakan Stored
procedure pada aplikasi terdistribusi adalah dapat
digunakannya satu perintah CALL pada aplikasi untuk
mengerjakan perintah yang sama.

Tersimpannya Stored procedure pada sistem database


terpusat memungkinkan dilakukannya perubahan untuk
menyesuaikan dengan perubahan sistem terkini dan
dapat berlaku untuk keseluruh sistem aplikasi yang ada
tanpa perlu dilakukan perubahan untuk setiap modul
aplikasi.
Stored Procedure
Stored Procedure dapat diartikan sebagai program (“routines”)
yang tersimpan dalam database seperti halnya data.

MySQL mendukung dua jenis ‘routines’, yaitu : Stored Procedure


dan functions yang mengembalikan nilai.

Sebuah Stored procedure setidaknya memiliki nama, dapat


mengandung parameter (ataupun tidak), dan berisi SQL
statement yang dapat terdiri dari satu atau banyak SQL
statement lain didalamnya.

Fungsi baru yang terdapat pada MySQL Stored Procedure


antara lain variabel lokal (local variable), kontrol alur (loop control)¸
dan pengkondisian (conditional).
Stored Procedure
Terdapat beberapa ketentuan umum yang harus diperhatikan
dalam membuat procedure di MySQL, diantaranya adalah :

a. Nama procedure bersifat tidak case sensitive, artinya


procedure ‘p1’ adalah sama dengan procedure ‘P1’.

b. Nama procedure adalah terbatas dengan panjang


maksimum adalah 64 karakter dan tidak diperkenankan
menggunakan nama yang ada pada fungsi built-in MySQL.

c. MySQL tidak memperkenankan terjadinya overloading,


kondisi dimana terdapat dua procedure dengan nama yang
sama dalam satu database.
Stored Procedure
Delimiter
Delimiter adalah karakter atau string yang digunakan
untuk menyatakan akhir SQL statement, default delimiter
pada MySQL adalah semicolon (;).
Perubahan delimiter diperlukan karena dalam sebuah
Stored Procedure dapat terdiri dari lebih satu statement
dan setiap akhir statement diakhiri dengan delimiter.
Sebagai contoh kita akan mengubah delimiter menjadi //
dengan syntax berikut :
DELIMITER //
*Note : DELIMITER hanya berlaku jika mengoperasikan
perintah SQL melalui Command Prompt (CMD).
Stored Procedure
Format umum dalam pembuatan stored procedure :

CREATE PROCEDURE procedure1 /* name */


([IN] parameter1 INTEGER) /* parameters */
[BEGIN] /* start of block */
.... /* Statements */
.... /* Statements */
[END] /* end of block */

*Note : BEGIN dan END harus digunakan hanya ketika ada


lebih dari satu statements dalam sebuah stored procedure.
Stored Procedure
Stored Procedure dapat dibuat dengan perintah sebagai
berikut :
CREATE PROCEDURE p1() SELECT * FROM provinsi;

Untuk menjalankan store procedure yang telah dibuat,


gunakan perintah CALL, sebagai contoh :
CALL p1();
Stored Procedure dengan Paramater
Contoh pembuatan Stored Procedure dengan
Paramater :

Mencari record dengan paramater :


CREATE PROCEDURE p2(IN pkd_prov Varchar(5))
SELECT * FROM kota where kd_prov = pkd_prov;

Menambahkan record dengan paramater :


CREATE PROCEDURE tambahp(IN pkd_prov Varchar(5),
pnm_prov Varchar(30))
INSERT INTO provinsi VALUES(pkd_prov, pnm_prov);
Stored Procedure dengan Conditional
Contoh pembuatan stored procedure dengan conditional dan variabel lokal :

Menggunakan conditional IF-THEN-ELSE :


CREATE PROCEDURE p3(IN par1 int)
BEGIN
DECLARE var1 int;
SET var1 = 3;
IF par1 > 3 THEN
SET var1 = par1 – var1;
SELECT var1;
ELSE
SET var1 = par1 + var1;
SELECT var1;
END IF;
END;
Stored Procedure dengan Perulangan
Contoh pembuatan stored procedure dengan perulangan dan
variabel lokal :

Menggunakan perulangan While .. Do :


CREATE PROCEDURE p4()
BEGIN
DECLARE x int;
SET x = 0;
WHILE x < 3 DO
SELECT x;
SET x = x + 1;
END WHILE;
END;
Stored Procedure dengan Perulangan
Contoh pembuatan stored procedure dengan perulangan dan
variabel lokal :

Menggunakan perulangan Repeat .. Until :


CREATE PROCEDURE p5()
BEGIN
DECLARE x int;
SET x = 0;
REPEAT
SELECT x;
SET x = x + 1;
UNTIL x >= 3
END REPEAT;
END;
Stored Procedure
Menghapus sebuah stored procedure dengan perintah :
DROP PROCEDURE nama_procedure;

Untuk melihat daftar procedure yang ada dalam database


kita bisa menggunakan perintah :
SHOW PROCEDURE STATUS;
TERIMAKASIH!
See You Next Time...

Anda mungkin juga menyukai