Stored Procedure merupakan serangkaian sub routine (baris program) yang dibuat dan disimpan di dalam database. MySQL sejak versi 4 sudah memiliki kemampuan untuk menyimpan stored procedure di dalam database-nya. Penggunaan stored procedure memberikan banyak keuntungan bagi developer terutama dari sisi sekuritas database dan pengembangan software yang multi platform serta membutuhkan banyak team work.
Dengan stored procedure, seorang programmer tidak perlu berinteraksi langsung dengan perintah-perintah DML (Data Manipulation Language), tetapi cukup memanggil / menjalankan stored procedure yang telah dibuat sebelumnya database administrator atau programer itu sendiri.
Dalam artikel kali ini penulis akan memberikan contoh penggunaan stored procedure sederhana untuk menjalankan proses CRUD ke MySQL, sehingga nantinya jika akan melakukan insert, update, select maupun delete tidak menggunakan perintah DML namun memanggil dan menjalankan stored procedure yang telah dibuat. Dibawah ini adalah demo pembuatan stored procedure di mysql.
Stored procedure sendiri terdapat tiga jenis yaitu stored procedure yang tanpa parameter, stored procedure yang menggunakan parameter IN sebagai stored procedure yang menerima masukan, dan stored procedure dengan parameter OUT sebagai stored procedure yang memberikan output. Pada tutorial kali ini akan dibahas contoh stored procedure tanpa paramter dan stored procedure dengan parameter IN.
Sebagai tahap persiapan, silahkan buat tiga buat tabel dengan struktur seperti terlihat pada gambar dibawah ini !
A. Membuat Tabel
Buat tabel dengan nama tabel : tbl_penerbit, adapun strukturnya adalah seperti tampak pada gambar dibawah ini !
B. Membuat stoored Procedure
1) Buat stored procedure untuk menambah data penerbit, buka phpmyadmin dan ketik syntak berikut pada menu SQL editor :
2) Buat stored procedure untuk menghapus data penerbit, buka phpmyadmin dan ketik syntak berikut pada menu SQL editor :
3. Buat stored procedure untuk menampilkan data penerbit
4. Buat procedure untuk menampilkan detail penerbit dalam hal ini procedure membutuhkan masukan berupa kode_penerbit sebagai primary key, maka scriptnya adalah :
C. Menampilkan stored procedure yang telah dibuat
Untuk menampilkan seluruh procedure yang telah dibuat dalam sebuah database maka perintah yang diberikan adalah seperti yang terlihat pada gambar dibawah ini. Klausa db diganti dengan nama database yang akan kita lihat apakah ada stored procedure nya atau tidak.
D. Menjalankan Stored Procedure
Setelah stored procedure dibuat, saatnya anda menjalankan / memanggil stored procedure yang dibuat, pada dasarnya cara menjalankan stored procedure adalah sebagai berikut :
CALL nama_stored_procedure([param_1],[param_2],..,[param_n])
Jadi dari serangkaian stored procedure yang telah dibuat pada Point B diatas adalah sebagai berikut :
1. Menambah penerbit
Gunakan MySQL client baik phpmyadmin ataupun yang lainnya dan jalankan perintah diabawah, perintah tersebut berfungsi menyimpan data jadi tidak lagi menggunakan perintah INSERT, karena perintah INSERT sudah di simpan dalam stored procedured tambah_penerbit()
2. Menampilkan data penerbit
Untuk menampilkan data bisanya kita menggunakan perintah SELECT, namun dengan stored procedure yang telah dibuat maka cara menampilkan data menjadi seperti tampak pada gambar, dan hasilnya akan tampak dibagian bawahnya.
3. Menampilkan detail penerbit berdasarkan kode_penerbit
Untuk menampilkan data penerbit berdasarkan kode_penerbit maka kita gunakan SQL SELECT dengan klausa WHERE, namun dengan stored procedure proses ini menjadi sederhana menjadi seperti tampak pada gambar dibawah :
4. Menghapus penerbit
Dan untuk menghapus tidak lagi menggunakan SQL DELETE tetapi dengan cara seperti berikut :
5. Merubah data penerbit.
Lalu bagaimana merubah data penerbit ?? sebagai latihan silahkan buat satu stored procedure untuk merubah data dan jalankan ! 🙂
E. Lebih Lanjut Dengan Stored Procedure
Apa kelebihan penggunaan stored procedure ? proses query tidak dijalankan di aplikasi tetapi di dalam database jadi pembagian tugas antara progammer dan database administrator menjadi lebih jelas serta aplikasi jadi lebih mudah untuk dipindah ke platform yang lain , misal dari web ke desktop atau dari desktop ke web tanpa merepotkan programmer mengetik kembali perintah SQL namun cukup mengetikan nama stored procedure yang telah didefinisika.
Post a Comment