Awal Store
Procedure Di MySQL
Store Procedure adalah inovasi
terbaik dari MySQL 5.0. beberapa SQL prosedur atau fungsi dapat disimpan dan
dieksekusi langsung di MySQL server. Layaknya pada penulisan code di bahasa
pemrograman seperti C programming, penulisan prosedur dan fungsi kini bisa
digunakan pada MySQL.
Lalu apa kegunaan dari adanya
prosedur atau fungsi pada MySQL, berikut ini saya jelaskan singkatnya :
Mempercepat proses coding (
efesiensi ), maksudnya bila kita mengetikan SQL
yang isinya memasukan data (insert) misalnya,
Insert into anggota
values (1,’adiputra’,’bekasi’,’ad1.putr4@yahoo.co.id’);
Sebanyak 1000 anggota, maka akan
pegel ngetik SQLnya. Solusinya adalah pembuatan prosedur seperti berikut ini,
1
|
Create procedure insert_anggota
(in no int, nm varchar(255), kota varchar(50), email
varchar(255))
|
|
2
|
3
|
Begin
|
|
4
|
5
|
Insert into anggota
values (no,nm,kota,email);
|
|
6
|
7
|
End
|
Nah setelah prosedur insert_anggota
dibuat, kita cukup memanggilnya dengan perintah call, seperti :
Call
insert_anggota(1,’adiputra’,’bekasi’,’ad1.putr4@yahoo.co.id’);
Jadi lebih mudah kan….itu hanya
secuil code,, dan akan sangat berguna nanti bila bermain dengan data yang lebih
banyak seperti pada data-data perusahaan.
Salah Satu Keamanan di MySQL, maksudnya misalkan seorang front office atau pekerja biasa
yang mengakses data pada database, dia tidak boleh mengotak-atik setingan yang
ada pada MySQL. Pekerja biasa biasanya hanya memasukan atau melihat data pada
database. Nah dengan prosedur atau fungsi, kita suruh dan wajibkan pekerja kita
dalam memasukan atau melihat data pada database dengan perintah-perintah
prosedur. Jadi pekerja juga tidak mesti seorang yang ahli dalam ilmu database.
Seorang pekerja biasanya cukup mengetikan code call insert_anggota().
Berikut ini saya praktikan membuat
prosedur sederhana di MySQL.
Pertama, kita buat database dan
table baru untuk percobaan belajar kita mengenai prosedur. Disini saya buat
database dengan nama prosedur_test.
Create database
prosedur_test;
Lalu kita buat tablenya,
01
|
Create table anggota(
|
|
02
|
03
|
no int not null primary key,
|
|
04
|
05
|
nama
varchar(255) not null,
|
|
06
|
07
|
kota
varchar(50) not null,
|
|
08
|
09
|
email
varchar(255) not null
|
|
10
|
11
|
);
|
Setelah kita buat database dan
tablenya, sekarang kita buat prosedurnya.
Awalnya kita mesti mengganti
delimiter (tanda akhir code, defaultnya adalah titik koma dengan symbol lain.
Delimiter $
Setelah kita ganti delimiternya,
kita sekarang buat prosedurnya.
01
|
Create procedure insert_anggota
|
|
02
|
03
|
(in no int,
nm varchar(255), kota varchar(50), email varchar(255))
|
|
04
|
05
|
Begin
|
|
06
|
07
|
Insert into anggota
values (no,nm,kota,email);
|
|
08
|
09
|
End
|
|
10
|
11
|
$
|
Yang udah pernah belajar konsep
programming dengan procedure pasti sudah paham mengenai parameter masukan dan
keluaran. Pada SQL diatas, parameternya ada pada SQL
(in no int, nm
varchar(255), kota varchar(50), email varchar(255))
Nama prosedur adalah insert_anggota.
Kamu bisa mengetikan bebas mengenai nama prosedur. Perintah Procedure diawali
dengan Begin dan diakhir dengan End (seperti pada Pascal).
Tanda $ diatas, adalah delimiter
(tanda akhir code) yang telah kita ubah sebelum membuat procedure. Sekarang
kita ubah lagi delimiternya.
Delimiter ;
Dan sekarang kita coba untuk panggil
prosedur yang telah kita buat dengan perintah :
Call
insert_anggota(1,’adiputra’,’bekasi’,’ad1.putr4@yahoo.co.id’);
Ingat parameternya mesti sesuai
(tipe data) dengan prosedur yang telah kita buat.
Bila sudah silakan cek apakah data
telah masuk apa blum…
Select * from anggota;
Variable Local
Seperti pada algoritma pemrograman
lainnya, di prosedur MySQL juga mengenal variable local. Variable ini juga
mempunyai fungsi yang sama pada pemrograman lainnya yaitu tempat penyimpanan
value / nilai sementara. Cara mendeklarasikan suatu variable adalah seperti
berikut :
DECLARE angka INTEGER;
DECLARE nama VARCHAR(20);
Untuk meng-inisialisasi nilai awal
dari variable yang kita buat dengan nilai, dapat menggunakan perintah SET,
seperti berikut :
SET angka = 4;
SET angka := 4;
Misalkan saya contohkan seperti ini
:
Perulangan / Looping
Logika perulangan juga bisa
dimainkan di prosedur atau fungsi pada MySQL, statement perulangan yang bisa
dijalankan di MySQL adalah
If – else
Case
While – do
Repeat – until
Berikut contoh sederhananya :
Cara panggilnya :
Call if_test(4,2,@n3)
$
Select @n3 $
Tidak ada komentar:
Posting Komentar