House of Xrvel

Just another WordPress weblog

Contoh Stored Procedure MySQL

with 2 comments

Apakah itu stored procedure MySQL? Secara singkat saja, stored procedure adalah sebuah function yang tersimpan di MySQL. Seperti layaknya sebuah function pada bahasa pemrograman lain, sebuah function bisa terdiri dari lebih dari satu baris, bermacam-macam operasi di dalamnya, mengandung variabel, dan lain-lain.

Nah di MySQL sendiri kapan menggunakan stored procedure? Menurut saya, bila kita ingin melakukan sesuatu yang rumit / multiple query dalam satu kali call misal di PHP. Bayangkan misal kita bertujuan ingin menambah posting ke tabel di database, dan untuk itu kita harus melakukan 10x query (misal ke 10 tabel yang berbeda). Jika kita memanggil fungsi mysql_query() di PHP sebanyak 10x, program akan berjalan lebih lambat. Ingat, sekali mysql_query() berarti program harus pergi dari PHP-MySQL-PHP lagi. Kalau 10x mysql_query()? Tentu saja program bolak-balik PHP-MySQL-PHP-MySQL-PHP, dst sampai 10x.
Pada kasus ini stored procedure diperlukan sehingga nantinya pada program PHP kita hanya memanggil 1x mysql_query().

Berikut adalah contoh kode SQL pembuatan stored procedure yang :

  1. Bernama “tambah_posting”
  2. Memiliki 2 parameter, yaitu “x_user”, dan “x_kategori”.

Sebagai tambahan, ada “START TRANSACTION” dan “COMMIT” sebagai penanda kita menggunakan MySQL transaction. Tapi ini hanya support tabel jenis InnoDB, tapi jangan khawatir, jika misal digunakan di tabel MyISAM tidak akan menimbulkan error.

DELIMITER $$
CREATE PROCEDURE tambah_posting(x_user int(10), x_kategori int(1))
BEGIN
START TRANSACTION;
UPDATE tbl_user SET post_count = post_count+1 WHERE id = x_user;
UPDATE tbl_kategori SET count = count+1 WHERE id = x_kategori;
COMMIT;
END$$

DELIMITER ;

Sekarang cara panggilnya dari kode PHP kita adalah dengan query “CALL”, contoh :

mysql_query("CALL tambah_posting(10, 11)");

Simpel kan :)

Written by Xrvel

February 2nd, 2010 at 11:16 pm

Posted in Indonesian, PHP, Programming

Tagged with ,

2 Responses to 'Contoh Stored Procedure MySQL'

Subscribe to comments with RSS or TrackBack to 'Contoh Stored Procedure MySQL'.

  1. Sip bro… sederhana dan efektif Lanjutkan ^_^

    Bowo

    23 Feb 10 at 2:13 pm

  2. Thanks udah mampir, bro :)

    Xrvel

    24 Feb 10 at 11:08 am

Leave a Reply