Stored Procedure from MySQL.

 Pengertian Stored Procedure

Stored procedure merupakan sekumpulan dari perintah-perintah SQL yang tersimpan dalam suatu database, pada umumnya digunakan pada perintah DML(select, insert, update, dan delete). Pada sebuah stored procedure dapat diberikan parameter sesuai dengan kebutuhan, sehingga dengan menerapkan stored procedure yang disimpan idalam suatu database program aplikasi akan dapat digunakan lebih dinamis berdasarkan parameter yang diberikan, juga stored procedure dapat dikombinasikan dengan fungsi-fungsi pernyataan bersyarat dan berkondisi seperti fungsi IF, While. 


Apa tujuannya dari stored procedure? Salah satu tujuan atau kegunaan dari stored procedure, yaitu untuk mengefisienkan pembuatan code program pada suatu bahasa pemrograman ketika akan membuat program CRUD(Create, Read, Update, Delete) menggunakan database MySQL. Stored procedure dibuat dan disimpan hanya satu kali pada sebuah database, selanjutnya dapat dipanggil kembali, sehingga prosedur dengan nama yang sama dalam program dapat lebih cepat dieksekusi. Jenis perintah-perintah dalam stored procedure meliputi menambah data(insert), mengubah data (update), menghapus data(delete), dan memilih/menyeleksi data (select).

Beberapa kelebihan menggunakan stored procedure:

  1. Performa program aplikasi akan lebih baik, pada sebuah program aplikasi yang menerapkan Stored Procedure kemudian dikompilasi  dan disimpan di cache memory selanjutnya dapat digunakan lagi. Hal ini membuat waktu akan lebih cepat ketika stored procedure dengan nama yang sama dieksekusi kembali.
  2. Dari sisi keamanan akan lebih meningkat, bila sebuah aplikasi memanfaatkan pernyataan query atau sql dibuat dengan stored procedure program aplikasi tersebut dapat menghindari serangan terhadap injection SQL.
  3. Dapat menghindari penulisan code program yang berulang-ulang.

Membuat Stored Procedure


Kita akan membuat sebuah stored procedure sederhana yang tidak menggunakan parameter. Pada bagian SQL statement, kita hanya perlu menuliskan SELECT * FROM customers karena kita akan mengambil semua data yang ada di tabel customers.

CREATE PROCEDURE get_customers
AS
BEGIN
SELECT * FROM customers;
END

Kemudian pada command EXEC, dapat dibuat seperti berikut ini.

EXEC get customers;

Komentar