Stored procedure merupakan salah satu objek routine (Program) yang tersimpan pada database MySQL dan dapat digunakan untuk alternatif menggantikan berbagai macam kumpulan perintah yang sering kita gunakan, seperti misalnya menambahkan sebuah data di table tertentu, menghapus, ataupun juga mengupdate data.
Baca Juga : Pengertian MySQL serta Kelebihan dan Kekurangan
Dengan begitu seorang programmer tidak perlu berinteraksi secara langsung dengan perintah DML (Data Manipulation Language), tetapi cukup dengan memanggil stored procedure yang telah dibuat sebelumnya oleh programer itu sendiri.
Stored procedure sangat berguna ketika kita ingin membatasi user agar tidak bisa mengakses table secara langsung, atau dengan kata lain membatasi hak akses user. Dengan begitu resiko kebocoran data dapat lebih diminimalisir.
Penggunaan stored procedure juga memberikan banyak keuntungan bagi developer terutama dari segi keamanan database dan pengembangan software yang multi platform serta membutuhkan banyak team work.
Pada artikel ini saya ingin memberikan sebuah contoh untuk membuat procedure sederhana yang nantinya procedure itu akan bisa mengoprasikan/menjalankan insert, update, select dan delete. Jadi kita tidak perlu menggunakan perintah DML lagi. Tetapi cukup dengan memanggil procedure yang kita buat sebelumnya.
Membuat Database dan Table
Pada langkah awal membuat procedure pastinya kita memerlukan sebuah Database beserta tabelnya maka dari itu disini saya akan membuat database dan table terlebih dahulu.
sehingga stuktur table nya akan seperti gambar dibawah
Dikarenakan isi dari table masih kosong maka selanjutnya kita akan langsung saja membuat procedure untuk melakukan insert data ke tabel barang.
1. Stored Procedure Insert Data
Perhatikan tanda spasi pada penulisan delimiter jika ada salah dalam penulisan maka procedure akan error dan teracak. Kemudian jika sobat ingin membuat procedure insert data pada suatu field maka field harus dipanggil kedalam parameter nah untuk nama field yang dimasukan ke parameter itu harus dibedakan namanya,
contoh diatas saya ingin membuat procedure insert data ke dalam field NamaBarang, Satuan, Harga, Jumlah, maka parameter yang saya dituliskan adalah in_NamaBarang varchar(10), in_Satuan varchar(6), in_Harga int, in_Jumlah int.
Jadi tipe data dari setiap fieldnya dituliskan kembali kemudian nama fieldnya dibedakan. Hal ini dilakukan agar tidak terjadi bentrokan saat nama field menjadi statement.
Procedure sudah terbuat, langkah selanjutnya adalah memanggil procedure yang sudah kita buat tadi dan melakukan insert data seperti contoh dibawah ini.
Tampilan sebelum tabel di insert
Sesudah diinput
2. Stored Procedure Update Data
Perhatikan kembali seperti contoh procedure insert data sebelumnya, kita tentukan di field mana data yang ingin diupdate/ganti/edit kemudian tentukan parameternya, karena saya ingin mengupdate data yang ada di field Harga maka parameter yang saya tuliskan
IN p_NamaBarang varchar(10), IN up_Harga intBaca Juga : Contoh Perintah DDL pada MySql
Setelah procedure terbuat sekarang kalian bisa mengupdate/mengedit data didalam table dengan cara memanggil procedure yang dibuat tadi
statement ‘Sikat Gigi’ digunakan karena NamaBarang adalah primary key dari tabel Barang. Sehingga ‘Sikat Gigi’ digunakan untuk menentukan dibaris mana data yang akan diubah.
Sebelum di update
Setelah di update
3. Stored Procedure Delete Data
Tentukan parameternya sebenarnya nama parameter itu bebas jadi agar lebih rapih dan ngga bingung liatnya saya pake nama field kemudian ditambahin kata didepannya dr_NamaBarang varchar(10), kemudian jika telah selesai panggil procedure nya
Tampilan sebelum data sikat gigi di delete
Sesudah didelete
Jika ada yang dirasa kurang jelas tolong komen dibawah ya kita sharing bareng – bareng
Hal yang terpenting dalam mempelajari suatu ilmu adalah kita mampu memahami nya, salah tak jadi masalah, dan salah bukan menjadi tolak ukur keberhasilan suatu manusia.
Thanks For Visiting ^_^
quey stored procs insert ok work, tapi query stored procs update dan delete , semua data mengalami update data yg sama begitu juga dengan delete, semua data terhapus ? coba cek kembali om