Anda di halaman 1dari 4

PROSEDUR

(STORE PROCEDURE)

Stored procedure adalah salah satu objek MySQL, yang dapat digunakan untuk menyimpan
sekumpulan perintah SQL, serta dapat dipanggil sewaktu-waktu
Stored procedure sangat berguna ketika kita tidak menginginkan user mengakses table secara
langsung (atau dengan kata lain membatasi hak akses user). Dengan demikian resiko
kebocoran dan kerusakan data dapat lebih diminalisir.
Alasan utama mengapa Stored Procedure digunakan dalam sebuah sistem aplikasi
adalah :
1. Program lebih ringkas dan cepat, dengan Stored procedure, SQL atau query akan
tersimpan di sisi server. Program aplikasi cukup memanggil Stored procedure yang
diinginkan,

dan selanjutnya

server yang akan mengeksekusi perintah-perintah

didalam store procedure tersebut;


2. Stored procedure bersifat migratory, sehingga memungkinkan untuk melakukan
pemindahan Stored procedure ke database lain dengan sedikit perubahan.
Format sederhana untuk membuat Stored Procedure adalah sebagai berikut :
DELIMITER $$
CREATE PROCEDURE nama_procedure (
parameter tipe,
....
parameterN tipeN,
)
BEGIN
Statement;
END$$
DELIMITER ;
Parameter dan tipe bisa tidak digunakan jika memang tidak dibutuhkan

Contoh :
DELIMITER $$
CREATE PROCEDURE sp_lihat_dosen (
)
BEGIN
SELECT * FROM tb_dosen;
END$$
DELIMITER ;
Tekan F9 untuk menjalankan,
Jika sukses, perhatikan bahwa sp_lihat_dosen telah terdaftar pada Store Procedures

Untuk menjalankan :
CALL sp_lihat_dosen() ;
KODE_DSN
-------46001
46002
46003
46004
46006
46007
46008

NAMA_DSN
------------------HOTMAN PANJAITAN
ROENADI KOESDIJARTO
GERI KUSNANTO
AGUS DARWANTO
ERY SADEWA
BAMBANG SETIAWAN
ASTRID E.P

ALAMAT
----------Penjaringan
Sidokare
Semolowaru
Mojokerto
Sidoarjo
Semolowaru
Semolowaru

TGL_LHR
---------1950-01-03
1955-01-10
1960-02-11
1960-01-20
1955-09-20
1964-01-20
1969-01-11

AGAMA
-----2
1
1
1
1
1
1

KELAMIN
------P
P
P
P
P
P
W

GOL
-----4
3
3
3
3
2
2

DELIMITER $$
CREATE PROCEDURE sp_lihat_dosen2 (
)
BEGIN
SELECT kode_dsn, nama_dsn, alamat
FROM tb_dosen
;
END$$
DELIMITER ;
Tekan f9 untuk menjalankan
CALL sp_lihat_dosen2() ;
kode_dsn
-------46001
46002
46003
46004
46006
46007
46008

nama_dsn
------------------HOTMAN PANJAITAN
ROENADI KOESDIJARTO
GERI KUSNANTO
AGUS DARWANTO
ERY SADEWA
BAMBANG SETIAWAN
ASTRID E.P

alamat
----------Penjaringan
Sidokare
Semolowaru
Mojokerto
Sidoarjo
Semolowaru
Semolowaru

Selanjutnya adalah prosedur berparameter. Parameter adalah nilai yang diberikan kepada
prosedur untuk diolah.
DELIMITER $$
CREATE PROCEDURE sp_lihat_dosen3 (
_kode CHAR(6)
)
BEGIN
SELECT kode_dsn, nama_dsn, alamat
FROM tb_dosen
WHERE kode_dsn = _kode
;
END$$
DELIMITER ;
Tekan f9 untuk menjalankan
CALL sp_lihat_dosen3('46002') ;
kode_dsn
-------46002

nama_dsn
------------------ROENADI KOESDIJARTO

alamat
-------Sidokare

CALL sp_lihat_dosen3('46003') ;
kode_dsn
-------46003

nama_dsn
------------GERI KUSNANTO

alamat
---------Semolowaru

Pada contoh diatas, nilai yang diberikan kepada prosedur saat dipanggil (call) adalah 46002
dan 46003.
Kedua nilai itulah yang disebut parameter.

Anda mungkin juga menyukai