Senin, Mei 07, 2012

procedure my sql

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: