Contoh Stored Procedure MySQL
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 :
- Bernama “tambah_posting”
- 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
Sip bro… sederhana dan efektif Lanjutkan ^_^
Bowo
23 Feb 10 at 2:13 pm
Thanks udah mampir, bro
Xrvel
24 Feb 10 at 11:08 am