Membuat MySQL Store Procedure

MySQL pada versi 5 telah mengenalkan fitur store procedure. Store procedure sendiri adalah sebuah procedure (pernyataan program yang berisi logika sql) yang tersimpan dalam database server.
Mengapa menggunakan Store Procedure :

  1. Karena berada dalam database server, logika pemrograman pada aplikasi tidak diperlukan lagi, yang harus dilakukan adalah memanggil store procedure.
  2. Mereduksi trafik pada jaringan yang mengakses database, karena logika pemrograman di laksanakan oleh database server, bukan oleh client
  3. .

Contoh Kasus Update Stok Produk
Tabel produk :

mysql> select * from produk;
+----------+------+-----------+--------+-------+
| idproduk | kode | nama      | stok   | harga |
+----------+------+-----------+--------+-------+
|        1 | P001 | CDR-Blank |     10 |  2500 |
|        2 | P002 | Pensil    |     25 |  1300 |
+----------+------+-----------+--------+-------

Akan dibuat sebuah procedure prod_tambah_stok, dengan diketahui idproduk dan jumlah atau quantity pembelian produk

Perintah membuat store procedure

mysql> delimiter //
mysql> create procedure prod_tambah_stok (in idpro int, in jml int)
    -> begin
    -> update produk set stok=stok + jml where idproduk=idpro;
    -> end //
mysql> delimiter ;

Memanggil Store Procedure
Diasumsikan telah di input data incoming untuk produk dengan id = 1 dan jumlah = 30

mysql> call pembelian_produk ( 1,30);
Query OK, 1 row affected (0.00 sec)

Jika berjalan lancar data produk dengan idproduk 1 telah terupdate.

mysql> select * from produk;
+----------+------+-----------+--------+-------+
| idproduk | kode | nama      | stok   | harga |
+----------+------+-----------+--------+-------+
|        1 | P001 | CDR-Blank |     40 |  2500 |
|        2 | P002 | Pensil    |     25 |  1300 |
+----------+------+-----------+--------+-------+
2 rows in set (0.00 sec)

Post a Response