
Store Procedure.. merupakan pilihan jitu pembangunan aplikasi web.. apalagi aplikasi yang membutuhkan data banyak.. Store Procedure MySQL merupakan database server. Store Procedure memiliki banyak manfaat, diantaranya :
1. Memperkecil request traffic dari aplikasi web ke database, karena semua proses bisnis dikerjakan oleh database dan aplikasi hanya menerima hasil dari proses tersebut.
2. untuk security
3. untuk mengantisipasi beberapa aplikasi yang dibuat dengan beberapa bahasa program yang berbeda, dimana dari semua aplikasi tersebut membutuhkan keseragaman dalam mengakses database.
Intinya kalo kita membangun aplikasi PHP, pasti menggunakan kode :
mysql_query("bla bla bla");
Jika ada proses, maka akan dilakukan pada file PHP..
Namun jika kita menggunakan Store Procedure, seluruh proses akan dijalankan pada databasenya.. kita cukup memanggilnya saja.. nah, pembuatan aplikasi macam ini, tentu akan memakan proses yang jauh lebih cepat..
Untuk memulai Store Procedure, setidaknya kita harus memenuhi syarat, yaitu MySQL yang digunakan harus versi 5.x ke atas..
Format dasar untuk membuat store procedure :
Create Procedure namaSP()
Isi perintah untuk SPnya;
Contoh kita membuat store procedure untuk menampilkan seluruh data, maka kita buat store procedure pada menu tab SQL pada tabel :
Create Procedure SP_tampil()
SELECT * from NamaTabel;
Maka pada aplikasi PHP, kita cukup memanggil nama SP (store procedurenya saja), misalnya :
$sp = "call SP_tampil()";
$result = mysql_query($sp);
Mudah bukan?
Jika kita ingin menampilkan data berdasarkan ketentuan tertentu, misalnya menampilkan data yang mengandung aktif='Y', maka mudah saja.. kita cukup membuat Store Procedure :
Create Procedure SP_tampilid(xaktif char(1))
SELECT * from NamaTabel where aktif=xaktif;
kemudian kita panggil melalui aplikasi PHPnya berikut :
$sp = "call SP_tampilid('Y')";
Ga sulitkan?..
Untuk lebih memahami mengenai Store Procedure, Trigger, dll.. doakan ya.. semoga proses penulisan mengenai konsep pembangunan aplikasi PHP menggunakan Database server MySQL dapat berjalan lancar..
Akhir kata, semoga postingan ini dapat memberikan manfaat bagi Anda yang sedang mempelajari Database Server MySQL..
izar
mudah2an sy doakan dimudhakan penulisannya... sy blm mudeng dengan manfaat store procedure.... bisa diperdetil gk penjelasannya?
apa sih kehebatannya....
Agus Saputra
izar @ SP merupakan database server.
Jika kita membangun aplikasi, dalam PHP pasti menggunakan kode :
mysql_query("SELECT * from NamaTabel");
benar tidak ? ^^
kalo kita menggunakan sisi database server (Store Procedure), maka kita cukup memanggil nama SP nya saja, misalnya :
$namasp = "call NamaSP()";
mysql_query($namasp);
nah, jika kita menggunakan SP, maka seluruh proses akan dilakukan pada database. jika kita menggunakan pilihan pertama, seluruh data yang dikirimkan, itu mengandung byte memori yg dapat memberatkan database..
Pernah tidak mas izar membuka suatu halaman yg banyak datanya, kok agak lama loading data?.. padahal tidak ada gambar?.. itu karena memori yg dikirimkan besar pula.. karena proses dijalankan pada file PHP nya..
Namun jika kita menggunakan SP, maka seluruh proses akan dijalankan pada database, dan itu akan memperingan kerja database..
Store Procedure juga mempunyai keunggulan, spt misalnya mencegah penginputan ganda, memperkecil traffic, dll.. ^^
izar
nah.. kalo kyk gini sdh mulai mudeng, sbb kite baru th nih ada istilah SP.. kayak2nye enak juge kalo dicobain pake gituan... thanks bro..
Agus Saputra
izar @ hehe.. iya, ternyata dalam dunia programmer, metode seperti itu penting juga, dan kadang2 dipakai dalam pembangunan suatu aplikasi ^^..
goes
mas, kalau bisa terbitkan buku pembuatan aplikasi dengan codeigniter
Agus Saputra
goes @ nanti akan ada kok buku mengenai Codeigniter serta perpaduan antara berbagai macam editor WYSIWYG dan jQuery.. tunggu saja kehadirannya ya.. :)
vina
mas agus tau gak cara memenggil beberapa procedure di mysql.
saya sering membeli buku-buku mas agus.mantap2...
Agus Saputra
vina @ tq ^^ btw, maksudnya bagaimana ya contohnya?..
untuk memanggil gunakan "call namasp()".. tergantung banyaknya kebutuhan..
ifliandry
Jika menggunakan store procedure, berarti querynya menempel di mysql ya mas ? jadi di coding php hanya tinggal memanggil store procedure sebagai function ? .. makin menarik saja nih php :) .. semoga penulisannya semakin lancar .. kalo bisa dibukunya diberitahu bagaimana mengimpor database yang sudah ada store procedurenya .. cakephp + codeigniter with jquery&wysiwyg juga ditunggu mas .. jaga bukunya tetap ringan dipraktekkan + ringan bahasanya mas ... kalo bisa juga ringan harganya .. hehehe ... :)
Agus Saputra
ifliandry @ iya, karena Store Procedure merupakan suatu kumpulan query..
jadi kita buat SP yg didalamnya terdapat query, sehingga kita cukup memanggil nama SP nya saja untuk menggunakannya..
itu salah satu kelebihan utama pada MySQL versi 5.x ke atas (saat ini juga).. kan sayang programmer sudah susah2 buat tapi malah tak dimanfaatkan.. :)
Wah, soal harga saya tidak tau nih.. itu urusannya penerbit.. hehe.. tapi yg pasti mah semakin tebal semakin mahal.. sy sih lebih suka yang sedang2 aja (tidak tebal dan juga tidak terlalu tipis)..^^ moga2 bahasannya ringan ya..
tq^^
hanif
ya mas di tunggu buku" berikut.a thx dengan tutorial.. udah mulai banyak pencerahan tentang database server mysql...
:)
Agus Saputra
hanif @ tq^^.. perkiraan buku database server mysql akan mulai launching september ..
tony
Lam kenal Mas Agus... mohon pencerahannya Mas... Bisa gak stored proc meng-update tabel dari dalam tabel itu sendiri? Misal
saya punya tabel MySql dg data sbb:
id; nama; jenjang; jumlah
1; bosA; head; ???
11; staf11; detil; 5
12; staf12; detil; 7
2; bosB; head; ???
21; staf21; detil; 11
22; staf22; detil; 8
bagaimana caranya meng-update 'jumlah' masing2 bos dengan menggunakan stored proc di MySql? tq atas bantuan n pencerahannya.
Agus Saputra
tony @ untuk Membuat SP untuk Update, bisa dituliskan perintah berikut:
CREATE PROCEDURE namaSP(IN xid Varchar(12))
UPDATE namaTabel SET jumlah='JumlahBaru' WHERE id=xid;
Luki
mantab mas agus.. guds tutor..
enasri
mantab mas ilmunya thans... moga dibuat buku my sql lengkap
Agus Saputra
enasri @ untuk buku MySQL sudah pernah dibuat "Panduan Praktis Menguasai Database Server MySQL".. :)
arif
mas,,buku SP nya sudah ready kah???
Agus Saputra
arif @ buku SP sudah ready kok, terbit September 2011 lalu.. detailnya bisa klik di http://www.agussaputra.com/books/baca_buku/6 ..
[email protected]
kalo triger untuk query
var namakolom
var namatabel
select namakolom from namatabel;
syntak nya gimana ya?
@faisal
salam kenal mas...
mas mao nanya, gimana carax memanggil suatu store procedure yg akan di tampilkan ke procedure yg lain...??
sandal bolonk
mas udah pernah nyoba ga manggil SP lewat mysql. saya nyoba ga bisa n ada pesan error PROCEDURE [nama_sp] can't return a result set in the given context.
itu knpa mas?
fyi mysql saya versi 5.1.41