Berikut adalah contoh membuat dan memanggil procedure mysql
untuk memudahkan pembuatan function yang mengakses tabel maka perlu dibuatkan 1 tabel sebagai contoh : nama table : Person, dengan isi dan field pada tabel dibawah
Kode | Nama | Umur |
JT | Johanes Tan | 30 |
MB | Mike Bun | 40 |
BD | Budianto | 25 |
NV | Novi | 18 |
untuk cara membuat table bisa dibaca pada artikel : Belajar Mysql - Pembuatan Table
format :
Delimiter $$
Drop Function If Exist nama_procedure
Ccreate Procedure nama_procedure()
Begin
kode sql
End $$
Delimiter ;
Berikut adalah contoh Procedure
Delimiter $$
Drop Function If Exist getDataPerson
Create Procedure getDataPerson()
Begin
select * from person where umur > 27;
End $$
Delimiter ;
Cara panggil : Call getDataPersen;
Hasil
ode | Nama | Umur |
JT | Johanes Tan | 30 |
MB | Mike Bun | 40 |
Delimiter $$
Drop Function If Exist insertPerson
Create Procedure insertPerson(p_kode varchar(10), p_nama varchar(50), p_umur int)
Begin
insert person (kode, nama, umur) values p_(kode, p_nama, p_umur);
' untuk menampilkan data
select * from person;
End $$
Delimiter ;
Cara panggil : Call insertPerson('LK', 'Lukman', 29);
Hasil
Kode | Nama | Umur |
JT | Johanes Tan | 30 |
MB | Mike Bun | 40 |
BD | Budianto | 25 |
NV | Novi | 18 |
LK | Lukman | 29 |
Delimiter $$
Drop Function If Exist updatePerson
Create Procedure updatePerson(p_kode varchar(10), p_nama varchar(50), p_umur int)
Begin
update person set nama = p_nama , umur = p_umur where kode = p_kode;
' untuk menampilkan data
select * from person;
End $$
Delimiter ;
Cara panggil : Call updatePerson('LK', 'Luis Kerta', 49);
Hasil
Kode | Nama | Umur |
JT | Johanes Tan | 30 |
MB | Mike Bun | 40 |
BD | Budianto | 25 |
NV | Novi | 18 |
LK | Lusi Kerta | 49 |
Delimiter $$
Drop Function If Exist deletePerson
Create Procedure deletePerson(p_kode varchar(10))
Begin
delete from person where kode = p_kode;
' untuk menampilkan data
select * from person;
End $$
Delimiter ;
Cara panggil : Call deletePerson('LK');
Hasil
Kode | Nama | Umur |
JT | Johanes Tan | 30 |
MB | Mike Bun | 40 |
BD | Budianto | 25 |
NV | Novi | 18 |